शून्य-डाउनटाइम तैनाती
(खंड: वास्तुकला और प्रोटोकॉल)
1) शून्य-डाउनटाइम क्या है और इसकी आवश्यकता क्यों है
शून्य-डाउनटाइम (ZDT) उपयोगकर्ताओं के लिए अनुपलब्ध और अनुरोध खोए बिना सेवा के बिना एक आवेदन के नए संस्करण जारी करने का एक तरीका है। उद्देश्य:- ग्राहकों और एकीकरण के लिए शून्य डाउनटाइम।
- अनुमानित रिलीज, तेज रोलबैक और प्रबंधनीय जोखिम।
- करारों की सीमाओं के भीतर एसएलओ/एसएलआई (विलंबता, त्रुटियां, उपलब्धता) का संरक्षण।
ZDT की कुंजी एक "जादू" तकनीक नहीं है, बल्कि वितरण पैटर्न, डेटा संगतता और सक्षम यातायात मार्ग का संयोजन है।
2) बेसिक जीरो-डाउनटाइम सिद्धांत
1. संस्करण संगतता: नए और पुराने संस्करणों को एक ही समय में यातायात और डेटा को सही ढंग से संभालना चाहिए।
2. संचालन की पहचान: पुनर्संसाधन राज्य को नहीं तोड़ ना चाहिए।
3. सुंदर शटडाउन और कनेक्शन जल निकासी।
4. चरण दर चरण स्वास्थ्य जांच: तत्परता/जीवंतता परीक्षण, स्वास्थ्य-समापन बिंदु।
5. प्रथम श्रेणी के नागरिक के रूप में रोलबैक: रोलबैक हॉटफिक्स की तुलना में आसान और तेज है।
6. डिजाइन द्वारा अवलोकन: रिलीज के निशान, एकल डैशबोर्ड, एसएलओ अलर्ट।
7. स्वचालन: रिलीज़ और रोलबैक परिदृश्य कोड हैं, मैनुअल निर्देश नहीं।
3) डाउनटाइम-फ्री डिलीवरी पैटर्न
3. 1 रोलिंग अपडेट
धीरे-धीरे ट्रैफिक से पुराने संस्करण के उदाहरणों का हिस्सा हटा दें, उन्हें नए में अपडेट करें और उन्हें पूल में वापस करें।
पेशेवरों: बुनियादी ढांचे में किफायती, बस k8s/ASG में।
विपक्ष: कुछ समय के लिए क्लस्टर एक ही समय में दो संस्करणों के साथ काम करता है (संस्करण तिरछा)।
3. 2 ब्लू-ग्रीन
दो पूर्ण समर्थक: सक्रिय (नीला) और उम्मीदवार (ग्रीन)। ट्रैफिक स्विचिंग - परमाणु फ्लिप।
पेशेवरों: तत्काल रोलबैक, स्वच्छ अलगाव।
विपक्ष: ↑ बुनियादी ढांचे की लागत, राज्य के साथ अधिक कठिन।
3. 3 कैनरी/प्रोग्रेसिव रोलआउट
हम नए संस्करण को मैट्रिक्स द्वारा फाटकों के साथ यातायात का एक छोटा हिस्सा (1-5-10-25-50-100%) देते हैं।
पेशेवरों: न्यूनतम विस्फोट त्रिज्या, डेटा-संचालित समाधान।
विपक्ष: परिपक्व अवलोकन और बुद्धिमान मार्ग की आवश्यकता है।
3. 4 छाया यातायात/डार्क लॉन्च
नए संस्करण के लिए मिरर वास्तविक अनुरोध (उपयोगकर्ता को जवाब दिए बिना) या मैट्रिक्स एकत्र करने के लिए छिपे हुए लॉन्च करें।
पेशेवरों: समस्याओं की प्रारंभिक पहचान।
विपक्ष: व्यसनों पर दोहरा भार, आपको दुष्प्रभावों को नियंत्रित करने की आवश्यकता है।
4) यातायात और कनेक्शन प्रबंधन
4. 1 तत्परता/जीविका
लाइवनेस ऑर्केस्ट्रेटर को "मुझे फिर से शुरू करने" के लिए कहता है।
तत्परता - "प्रत्यक्ष यातायात न करें, मैं अभी तक तैयार नहीं हूं।"
सही तत्परता तर्क और समय समाप्ति के बिना जारी नहीं किया जा सकता.
4. 2 कनेक्शन ड्रेनेज
पूल से एक उदाहरण हटाने से पहले:- नए कनेक्शन स्वीकार करना बंद करो
- सक्रिय होने की प्रतीक्षा कर रहे हैं,
- "त्रिशंकु" टाइमआउट को बाधित करें।
4. 3 स्टिकी सत्र और L7 मार्ग
स्टिकी राज्य के परिदृश्यों के लिए उपयोगी है, लेकिन लोड संतुलन को जटिल बनाता है।
L7 नियम (पथ, हेडर, कुकी, एपीआई संस्करण) कैनरी/रिंग के लिए सुविधाजनक हैं।
4. 4 लंबे समय तक जीवित कनेक्शन
WebSocket/gRPC स्ट्रीमिंग: अपडेट करने से पहले ड्रेन मोड + "GOAWAY" सिग्नल चालू करें।
धाराओं और ग्राहक बैकहो को बाहर निकालने के लिए खिड़कियों की योजना बनाएं।
5) डेटा संगतता और डेटाबेस प्रवास
5. 1 विस्तार-माइग्रेट-अनुबंध
1. विस्तार: पुराने संस्करण को तोड़े बिना नए कॉलम/इंडेक्स/टेबल जोड़ें।
2. माइग्रेट करें: हम पृष्ठभूमि में डेटा स्थानांतरित करते हैं और पहचान (बैच, चौकियों)।
3. संविदा: स्थिरीकरण के बाद ही पुराने को हटाएं।
5. 2 प्रथाएँ
रिलीज विंडो में अनन्य डीडीएल लॉक से बचें।
एपीआई/इवेंट कॉन्ट्रैक्ट (स्कीमा रजिस्ट्री, सीडीसी) का संस्करण।
भारी प्रवासन के लिए - ऑनलाइन उपकरण, प्रतिकृतियां, चरणबद्ध स्विचिंग।
Duduplication और idempotent उपभोक्ताओं के साथ ही दोहरी लिखें।
कतारों के माध्यम से विश्वसनीय एकीकरण के लिए आउटबॉक्स/इनबॉक्स।
6) कैश, सत्र और पृष्ठभूमि की नौकरियां
सत्र और कैश बाहरी (रेडिस/मेमकैच) हैं ताकि संस्करण विनिमेय हों।
पूलिंग से पहले कैश/जिट/टेम्पो इंडेक्स गर्म करें।
संस्करण द्वारा पृष्ठभूमि कतारों को विभाजित करें या रेसिंग से बचने के लिए नेतृत्व का उपयोग क
7) अवलोकन और एसएलओ द्वार
गोल्डन सिग्नल: p95/p99 विलंबता, त्रुटि दर, आरपीएस, संतृप्ति, कतार अंतराल।
बिजनेस एसएलए: प्राधिकरण, रूपांतरण, सफल भुगतान, फ़नल चरणों द्वारा इनकार।
गेट्स: रोलआउट को केवल तभी बढ़ावा दिया जाता है जब कैनरी ≤ बेसलाइन + क्षरण थ्रेसहोल्ड, और त्रुटि बजट जलता नहीं है।
8) सुरक्षित पूर्णता और रोलबैक
रोलबैक एक ही पाइपलाइन है, केवल विपरीत दिशा में: निश्चित आदेश, "मैनुअल क्राफ्ट" नहीं।
नीले-हरे रंग के लिए - वापस फ्लिप करें; कैनरी - वजन घटाने के लिए 0% या पिछले स्थिर कदम।
डेटा: ऑफसेटिंग लेनदेन, पुनर्संसाधन, घटना डीडुप्लीकेशन।
9) शून्य-डाउनटाइम चेकलिस्ट
रिलीज से पहले
- एक हस्ताक्षरित कलाकृति (अपरिवर्तनीय), एसबीओएम और निर्भरता जांच एकत्र की जाती है।
- तत्परता/जीवंतता लागू और परीक्षण किया।
- विस्तार मोड में प्रवासन योजना, प्रतिवर्तनीयता की पुष्टि की।
- नए संस्करण के लिए डैशबोर्ड और अलर्ट तैयार हैं, रिलीज के निशान फेंके गए हैं।
- रोलबैक ने मंचन/प्री-प्रोड के लिए जाँच की।
रिलीज के समय
- कनेक्शन जल निकासी सक्षम है, टाइमआउट पर्याप्त हैं।
- ट्रैफिक कैनरी/रिंग या फ्लिप (नीला-हरा) है।
- मेट्रिक्स की तुलना बेसलाइन से की जाती है, गेट थ्रेसहोल्ड मिलते हैं।
रिलीज के बाद
- पोस्ट-मॉनिटरिंग एन घंटे, कोई घटना नहीं।
- पूरा अनुबंध पलायन, अस्थायी झंडे/मार्गों को हटा दिया।
- पूर्वव्यापी, प्लेबुक अद्यतन।
10) एंटी-पैटर्न
जल निकासी और तत्परता के बिना मनोरंजन-तैनाती - अनुरोध टूट जाता है।
प्राइम टाइम में अप्रस्तुत DDL ⇒ लॉक और टाइमआउट।
सेवा संस्करणों के बीच असंगत योजनाओं को मिलाना।
हैंडलर और श्रमिकों में पहचान की कमी।
गेट्स और बेसलाइन के साथ तुलना के बिना "महसूस करके रोल आउट करें"।
नीले-हरे रंग के साथ लंबा DNS-TTL, यही कारण है कि फ्लिप घंटों तक रहता है।
उदाहरण के लिए रोलिंग/कैनरी के साथ स्थानीय सत्र/कैश।
11) कार्यान्वयन परिदृश्य
11. 1 कुबर्नेट्स (रोलिंग + कैनरी)
परिनियोजन с 'MaxUnable = 0', 'MaxSurge = 25%'।
तत्परता वार्म-अप (कैश इनिशियलाइजेशन, मामूली माइग्रेशन) की प्रतीक्षा कर रही है।
भारित मार्ग के साथ सेवा-जाल/इंग्रेस (1-5-10-25-50-100%)।
अलर्ट: p95, 5xx, कतार लैग, बिजनेस फ़नल।
11. क्लाउड में 2 ब्लू-ग्रीन
संतुलन के पीछे दो ढेर: 'नीला। उदाहरण। com 'и' हरा। उदाहरण। com '।
वार्म अप ग्रीन, स्मोक/रीग्रेस, फिर श्रोता/रूट स्वैप (या कम टीटीएल के साथ डीएनएस स्विच)।
समस्याओं के मामले में - तत्काल वापस फ्लिप करें।
11. 3 राज्यपूर्ण सेवा
डेटा प्रतिकृतियाँ + ऑनलाइन प्रवासन; सत्यापन के साथ डबल रीडिंग।
पृष्ठभूमि जैब संस्करण "नेतृत्व" या विभाजित कतारों द्वारा किए जाते हैं
उदाहरण के बाहर सत्र/कैश; चिपचिपा केवल अस्थायी रूप से सक्षम है।
12) Ficheflags और ग्राहक अनुप्रयोग
नई विशेषताएं झंडे द्वारा सक्रिय की जाती हैं (खंड: कर्मचारी → बीटा → सभी)।
मोबाइल/डेस्कटॉप क्लाइंट के लिए, प्रोटोकॉल संगतता सीमाओं और विरासत क्षरण नीति (सर्वर-साइड फॉलबैक) पर विचार करें।
13) प्रदर्शन और लागत
रोलिंग सस्ता है, लेकिन सावधानीपूर्वक संगतता की आवश्यकता है।
रिलीज के समय ब्लू-ग्रीन अधिक महंगा है, लेकिन रोलबैक तत्काल है।
कैनरी जोखिम और लागत को संतुलित करता है, लेकिन मजबूत अवलोकन की आवश्यकता होती है।
पंचांग पूर्वावलोकन और ऑटो-सफाई स्टैंड के माध्यम से सहेजें।
14) न्यूनतम संदर्भ पाइपलाइन ZDT
1. बिल्ड: एकल कलाकृति, हस्ताक्षर, SBOM।
2. परीक्षण: इकाई/एकीकरण/अनुबंध + सुरक्षा।
3. मंचन: धुआं, भार, पलायन का विस्तार, रोलबैक जांच।
4. Prod: छाया → कैनरी (गेट्स) या नीला-हरा फ्लिप।
5. पोस्ट-तैनाती: निगरानी, अनुबंध-सफाई, रेट्रो।
15) संक्षिप्त सारांश
शून्य-डाउनटाइम एक अनुशासन है: संगत संस्करण + सही मार्ग + प्रबंधित प्रवासन + अवलोकन और तेज रोलबैक। संदर्भ के लिए एक पैटर्न चुनें (रोलिंग, ब्लू-ग्रीन, कैनरी), स्वचालित एसएलओ गेट्स, डेटा आइडेम्पोटेंट रखें - और रिलीज एक विश्वसनीय दिनचर्या प्रक्रिया में बदल जाएगा।