blue green दो पूरे एनवायरनमेंट चलाता है और ट्रैफिक एक साथ पलट देता है, तो rollback तुरंत होता है पर हर यूजर नए वर्जन से एक ही पल में मिलता है। canary असली ट्रैफिक का छोटा हिस्सा नए वर्जन पर भेजता है और SLI देखते हुए उसे बढ़ाता है, तो असर का दायरा छोटा रहता है पर rollout धीमा होता है। तेज, schema से बेपरवाह cutover के लिए blue green चुनें; बड़े पैमाने पर जोखिम भरे logic बदलाव के लिए canary।
इंटरव्यूअर यह क्यों पूछते हैं
इंटरव्यूअर जानना चाहते हैं कि आप परिभाषाएं रटने के बजाय असर के दायरे और rollback पर सोच सकते हैं या नहीं। सबसे अच्छे जवाब वे मुश्किल हिस्से उठाते हैं जो दोनों तरीकों में साझा हैं: डेटाबेस schema बदलाव, session और cache की स्टेट, लंबे चलने वाले कनेक्शन, और अपने आप होने वाले विश्लेषण की जरूरत ताकि canary का फैसला एक इंजीनियर के ग्राफ पर आंख गड़ाने से न हो।
अपना जवाब कैसे स्ट्रक्चर करें
- दोनों को टूलिंग नहीं, ट्रैफिक की आवाजाही के हिसाब से परिभाषित करें।
- असर के दायरे, rollback की रफ्तार और लागत पर तुलना करें।
- साझा मुश्किल मुद्दा उठाएं: डेटाबेस और schema की अनुकूलता।
- SLI के मुकाबले अपने आप होने वाले canary विश्लेषण पर जोर दें।
- हर एक के लिए एक ठोस हालत बताएं जहां आप उसे चुनेंगे।
उदाहरण जवाब
blue green दो पूरे stack हैं और आगे एक स्विच। आप बेकार पड़े वाले पर डिप्लॉय करते हैं, जांचते हैं, router पलटते हैं, और अगर गड़बड़ हो तो सेकंडों में वापस पलट देते हैं। canary क्रमवार है: 1% ट्रैफिक, फिर 5, फिर 25, हर कदम पर एरर दर और लेटेंसी देखते हुए, और नया वर्जन baseline से बुरा दिखे तो अपने आप rollback। जहां जोखिम व्यवहार में बारीक बदलाव का हो, वहां मेरा झुकाव canary की तरफ है, क्योंकि blue green आपको टूटन तभी बताता है जब सब लोग उस पर आ चुके होते हैं। blue green उन इंफ्रास्ट्रक्चर स्तर के बदलावों के लिए बढ़िया है जहां कोड वही रहता है। दोनों पर हावी चीज डेटाबेस है। हम हर schema बदलाव पर expand और contract चलाते थे, यानी नया column पहले जाता है, दोनों वर्जन पढ़ लिख सकते हैं, और पुराना वर्जन पूरी तरह हटने के बाद ही हम कुछ drop करते हैं। इसके बिना आपका तुरंत rollback असल में मौजूद ही नहीं होता, और यह इंसिडेंट के बीच में पता चलने वाली बहुत गंदी बात है।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- जो schema migration पीछे की तरफ अनुकूल बनाई ही न जा सके, उसे आप कैसे संभालेंगे?
- कौन सी मेट्रिक्स अपने आप canary रोक देंगी?
- sticky session या खुले websocket cutover को कैसे उलझा देते हैं?
साइट रिलायबिलिटी इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें