- Slack ने पिछले 1.5 साल में redundancy बढ़ाने और site failure के असर को सीमित करने के लिए single structure से cell-based structure (Cellular Architecture) में बदलाव किया
- जून 2021 में network outage के कारण Slack ग्राहकों को service degradation का सामना करना पड़ा था; इसके बाद Slack service की resilience बेहतर बनाने की जरूरत ने इस बदलाव को आगे बढ़ाया
- cellular structure में हर service प्रत्येक availability zone (AZ) में एक virtual service की तरह काम करती है, जिससे एक AZ में failure होने पर उसका असर दूसरे AZ पर नहीं पड़ता
- इसमें problem वाले AZ से traffic drain करने की क्षमता भी शामिल है, जिससे उसे सिस्टम के बाकी हिस्सों से प्रभावी ढंग से isolate किया जा सकता है
- drain mechanism को तेज, error-free, gradual और drain किए जा रहे AZ के resources से independent तरीके से डिज़ाइन किया गया है
- cellular structure में बदलाव में siloing नाम की strategy भी शामिल है, जिसमें services केवल अपने ही AZ के भीतर traffic receive और send करती हैं। इससे एक ही AZ के भीतर सभी failures को सीमित रखने में मदद मिलती है
- traffic movement mechanism के implementation का फोकस उस सिस्टम पर था जो user queries को core services तक route करता है
- नई architecture, AZ draining को support करने के लिए Envoy की weighted clusters feature और RTDS के जरिए dynamic weight assignment का उपयोग करती है
- इस बदलाव ने Slack के operations और services बनाने के तरीके को बदल दिया, और traffic management तथा failure mitigation के लिए मजबूत नए tools दिए
- भविष्य की blog posts में technical implementation details को और गहराई से समझाया जाएगा और यह चर्चा होगी कि नई architecture ने Slack के operations को कैसे प्रभावित किया
1 टिप्पणियां
Hacker News टिप्पणियाँ