उपलब्धता क्षेत्र और क्रॉस क्षेत्र
1) शर्तें और उद्देश्य
उपलब्धता क्षेत्र (AZ) - क्षेत्र के भीतर एक पृथक डेटा केंद्र (अपनी क्षमता/नेटवर्क)।
क्षेत्र - सामान्य भूगोल और देरी के साथ AZ समूह।
वसूली के उद्देश्य:- आरटीओ (रिकवरी टाइम ऑब्जेक्टिव) - आप कितना समय सेवा प्रदान नहीं कर सकते।
- आरपीओ (रिकवरी प्वाइंट ऑब्जेक्टिव) - कितना डेटा खो सकता है।
आमतौर पर: इस क्षेत्र के भीतर हम RTO ≤ 5-15 मिनट, RPO ~ 0-1 मिनट, अंतरक्षेत्रीय रूप से - RTO ≤ 1 घंटा, RPO ≤ 5 मिनट (उत्पाद और बजट के आधार पर) का लक्ष्य रखते हैं।
2) वास्तुशिल्प मॉडल
2. 1 क्षेत्र के अंदर (मल्टी-AZ)
स्टेटलेस परत: AZ पर वितरित; संतुलन - L4/L7 स्वास्थ्य-जांच के साथ।
स्थिति परत: AZ के बीच तुल्यकालिक प्रतिकृति (या कोरम) के साथ समूह।
कैश/कतारें: AZ शार्डिंग और स्वचालित विफलता के साथ, clustered।
2. 2 अंतर-क्षेत्रीय (बहु-क्षेत्र)
सक्रिय-सक्रिय: दोनों क्षेत्रों को यातायात मिलता है।
न्यूनतम उपयोगकर्ता विलंबता, तेजी से वसूली, − स्थिरता और संघर्ष जटिलता
सक्रिय-निष्क्रिय (गर्म/गर्म): मुख्य क्षेत्र कार्य करता है, दूसरा - गर्म/गर्म प्रत्याशा में।
सरल डेटा, सस्ता; − उच्च आरटीओ।
पायलट-लाइट: न्यूनतम "प्रकाश" (डेटा को सिंक्रनाइज़किया जाता है, किसी दुर्घटना के मामले में गणना प्रकट होती है)।
डीआर-बैकअप: केवल बैकअप और रिकवरी परिदृश्य (सबसे सस्ता और सबसे धीमा)।
3) डेटा और स्थिरता
3. 1 डेटाबेस
सिंक्रोनस कोरम (RPO≈0, ↑latentnost): क्षेत्र के भीतर तुल्यकालिक स्टैंडबाय के साथ PostgreSQL; स्थानीय कोरम (स्थानीय कोरम) और AZ संतुलन के साथ वितरित डेटाबेस (CockroachDB/Cassandra)।
अतुल्यकालिक अंतर्क्षेत्रीय (RPO> 0, ↓latentnost): तार्किक प्रतिकृति Postgres/MySQL; "ग्लोबल टेबल" в KV/NoSQL; CDC→strim दूसरे क्षेत्र के लिए।
परस्पर विरोधी प्रविष्टियाँ: सक्रिय-सक्रिय के लिए, CRDT/versioning या नेता-क्षेत्र प्रति कुंजी/किरायेदार का उपयोग करें।
3. 2 इवेंट-सोर्सिंग और कतारें
कतारें/धाराएँ (काफ्का/पल्सर/एसक्यूएस जैसी): दर्पण-विषय या क्रॉस-क्षेत्रीय प्रतिकृतियाँ; कुंजी - उपभोक्ता पहचान और प्रमुख गतिरोध।
वेबहुक और बाहरी साझेदार: हस्ताक्षर करें, दोनों क्षेत्रों में रिप्ले करें, ऑफसेट/चौकियों को स्टोर करें।
3. 3 नकद
स्थानीय कैश प्रति-क्षेत्र (राइट-थ्रू/रिफ्रेश-फॉरवर्ड); टिकाऊ केवी के लिए वैश्विक साझा कैश केवल (उर्फ स्प्लिट-ब्रेन)। घटना (पब/उप), टीटीएल - रूढ़िवादी द्वारा अक्षम।
4) वैश्विक यातायात और नेटवर्क लूप
जीएसएलबी/डीएनएस: जियो-/लेटेंसी-आधारित रूटिंग, स्वास्थ्य-जांच, कैनरी और दुर्घटनाओं के लिए ट्रैफिक-वेट।
Anycast/Edge: हम प्रवेश द्वार को उपयोगकर्ता के करीब लाते हैं, फिर निकटतम स्वस्थ क्षेत्र में।
विफल नीतियां: क्षेत्रीय अपस्ट्रीम पूल, महत्वपूर्ण रास्तों पर 0-RTT का निषेध, अंतर निर्भरता के लिए कम समय।
रिट्रे नीतियां: घातीय बैकऑफ + जिटर, कुल-समय सीमा बाधा, 'आइडेम्पोटेंसी-की' के साथ आइडेम्पोटेंट पुट/पोस्ट।
5) कुबेरनेट्स और सर्विस मेष
5. एक क्लस्टर में 1 मल्टी-एज़
टोपोलॉजी ने बाधाओं को फैलाया - 'टोपोलॉजी। kubernetes। io/zone '।
PodDis बजट प्राथमिकता वर्ग।
NodeAffinity/एंटी-एफिनिटी - प्रतिकृति सह-स्थान से बचें।
भंडारण क्षेत्र: AZ प्रतिकृति या वितरित वॉल्यूम सिस्टम के साथ पीवी।
5. 2 बहु-क्षेत्र (बहु-क्लस्टर)
घोषणात्मक तुल्यकालन के लिए प्रति क्षेत्र + GitOps (Argo CD/Flux) को अलग करें।
सेवा मेश (इस्तियो/लिंकर्ड): क्षेत्रों के बीच स्थानीयता-जागरूक लोड-संतुलन और विफलता; mTLS, साझा पहचान।
ट्रैफिक-शिफ्टिंग: धीरे-धीरे एक नए क्षेत्र में 1%→10%→50%; हैंडल "0%" तुरंत।
6) आरटीओ/आरपीओ चयन और पैटर्न बाइंडिंग
7) दोष सहिष्णुता परीक्षण (डीआर)
गेमडेज़: त्रैमासिक पूर्ण पैमाने पर "क्षेत्र/AZ बाहर" परिदृश्य।
अराजकता इंजेक्शन: नेटवर्क देरी, पैकेट नुकसान, एक AZ में ब्रोकर/बेस डिस्कनेक्शन।
आरटीओ/आरपीओ वास्तविक: स्विच समय और डेटा हानि को मापना, रिपोर्ट प्रकाशित करना।
रनबुक: स्विचिंग के लिए चरण-दर-चरण निर्देश और "लाल बटन" (डीएनएस वेट, फीचर-फ्लैग, भारी सुविधाओं को अक्षम करना)।
8) अवलोकन और प्रबंधन
क्षेत्र/AZ/किरायेदार द्वारा मीट्रिक स्लाइस; p95/p99 मार्ग विलंबता।
एसएलओ और त्रुटि बजट प्रति क्षेत्र और प्रति वैश्विक पूल।
अलर्ट: एक क्षेत्र के क्षरण को "जाम" पेजिंग नहीं करना चाहिए यदि दूसरा सामान्य रूप से यातायात करता है।
Трейсы: सामान 'क्षेत्र', 'अज़', 'असफलता = सही/गलत'; रिपोर्ट "कितने अनुरोध विफल रहे।"
9) सुरक्षा और अनुपालन
डेटा रेजिडेंसी: पीआईआई/भुगतान डेटा को विशिष्ट क्षेत्रों (अधिकार क्षेत्र) से जोड़ ना।
रहस्य: क्रॉस-क्षेत्रीय कुंजी और रोटेशन के साथ केएमएस/स्मार्ट एचएसएम; प्रति क्षेत्र अलग प्रमुख सा
एमटीएलएस और क्षेत्रों के बीच आपसी विश्वास; एसीएल द्वारा क्रॉस-रीजनल एग्रेस को प्रतिबंधित करें।
10) लागत और बचत
एज कैश + SWR - इंटरग्रेजियल एग्रेस में कमी।
विभिन्न भंडारण कक्षाएं (गर्म/गर्म/ठंडी) और डाउनसैम्पलिंग मेट्रिक्स/लॉग।
क्षेत्र द्वारा ऑटो-स्केल प्रोफाइल (रात न्यूनतम)।
छवि पहचान + पर्यावरण चर/हेल्म मानों के माध्यम से विभेदित विन्यास।
11) एंटीपैटर्न
प्रति प्रणाली एक राज्यपूर्ण मास्टर; कोरम के बिना विभाजित मस्तिष्क।
एक एकल RDBMS (असहनीय विलंबता) के लिए अंतःक्षेत्रीय तुल्यकालिक लेखन।
CRDT → भीड़ और प्रेत के बिना मजबूत स्थिरता के साथ वैश्विक कैश।
बिना पहचान के रिट्रेज़ → डुप्लिकेट लेनदेन/भुगतान।
एक एकल "वैश्विक" एसएलओ - एक क्षेत्र की विफलता को छुपाता है।
कोई नियमित डीआर अभ्यास नहीं हैं - योजनाएं लड़ाई में निष्क्रिय हैं।
12) आईगेमिंग/वित्त की विशिष्टताएं
भुगतान प्रदाता/सीसीपी क्षेत्रीय रूप से चुने जाते हैं; स्वास्थ्य संकेतों के साथ पीएसपी पर स्मार्ट-रूटिंग करें, बैकअप में विफल रहें।
अधिकार क्षेत्र: पीआईआई और इन-कंट्री/क्षेत्र लेनदेन लॉग होल्डिंग; क्रॉस-क्षेत्र - केवल कुल/गुमनाम।
सीमाएं/जिम्मेदार नाटक: स्थानीय नियम और घंटे - क्षेत्रों के बीच "हेड-ऑन" को दोहराएं नहीं, घटना स्थिरता का उपयोग करें।
बोनस/संतुलन: किरायेदार/क्षेत्र के प्रति पहचान कुंजी और "सत्य का स्रोत"; डीआर के बाद सामंजस्य-नौकरियां।
13) मिनी व्यंजनों (छद्म आंकड़े)
13. 1 दूत स्थानीयता-जागरूक + विफल
yaml load_assignment:
endpoints:
- locality: { region: eu, zone: eu-a }
lb_endpoints: [{ endpoint: { address:... } }]
- locality: { region: eu, zone: eu-b }
lb_endpoints: [{ endpoint: { address:... } }]
- locality: { region: us, zone: us-a } # failover target lb_endpoints: [{ endpoint: { address:... } }]
common_lb_config:
zone_aware_lb_config: {}
locality_weighted_lb_config: {}
outlier_detection:
consecutive_5xx: 5 base_ejection_time: 30s
13. 2 कुबर्नेट्स टोपोलॉजी फैल गई
yaml spec:
topologySpreadConstraints:
- maxSkew: 1 topologyKey: topology. kubernetes. io/zone whenUnsatisfiable: DoNotSchedule labelSelector: { matchLabels: { app: api } }
13. 3 डीएनएस वेट फीलओवर (विचार)
'वजन (यूरोपीय संघ) = 90', 'वजन (हमें) = 10' - जब अपमानित 'यूरोपीय संघ' को 'हमें' में बदल दिया जाता है। स्वास्थ्य-जांच और कम टीटीएल (लेकिन बहुत आक्रामक नहीं, 30-120 एस)।
14) प्रोड रेडीनेस चेकलिस्ट
- आरटीओ/आरपीओ प्रति सेवा परिभाषित और व्यवसाय के साथ सहमत है।
- AZ में वितरित स्टेटलेस; स्टेटफुल में कोरम/प्रतिकृति और एक स्पष्ट स्थिरता मॉडल है।
- क्रॉस-रीजनल प्रतिकृति (asynchron/CDC), टकराव/deduplication परीक्षण।
- GSLB/Anycast कॉन्फ़िगर किए गए हैं, स्वास्थ्य-जांच और वजन स्वचालित हैं।
- कुबर्नेट्स: टोपोलॉजी-स्प्रेड, पीडीबी, एंटी-अफिनिटी; मल्टी-क्लस्टर GitOps।
- जिटर के साथ रेट्राई, लिखने पर पहचान; शॉर्ट टाइमआउट परस्पर।
- डीआर अभ्यास, वास्तविक आरटीओ/आरपीओ मापा गया; वर्तमान रनबुक।
- क्षेत्र/AZ, SLO द्वारा अवलोकन और अनुभागों पर बर्न-रेट, अलर्ट "जाम" सामान्य ऑपरेशन नहीं करते हैं।
- डेटा रेजिडेंसी/सीक्रेट/कुंजियाँ नियामक आवश्यकताओं का पालन करती हैं।
- अर्थशास्त्र: एग्रेस, स्टोरेज, ऑटोस्केल प्रोफाइल नियंत्रण में
15) टीएल; डीआर
आधार परत के रूप में मल्टी-एज़का निर्माण, व्यवसाय बीमा के रूप में बहु-क्षेत्र। आरटीओ/आरपीओ और लागत के लिए एक पैटर्न (सक्रिय-सक्रिय/स्टैंडबाय) चुनें, डेटा को सचेत रूप से दोहराएं (कोरम/सीडीसी/सीआरडीटी), जीएसएलबी/एनीकास्ट और स्थान-जागरूक संतुलन के माध्यम से वैश्विक यातावास का प्य। अनिवार्य: पहचान, कम समय, नियमित डीआर अभ्यास, क्षेत्र/AZ स्लाइस पर SLO/मैट्रिक्स। IGaming/Finance के लिए, क्षेत्रीय PSP/KYC, डेटा आवश्यकताओं को जोड़ें और अधिकार क्षेत्र द्वारा SLO को विभाजित करें।