GH GambleHub

संतुलन और असफलता लोड करें

संतुलन और असफलता लोड करें

1) उद्देश्य और शर्तें

संतुलन प्रदर्शन और लचीलापन के लिए उदाहरणों/क्षेत्रों/क्षेत्रों में यातायात वितरित करता है।

असफलता - नियंत्रित असफलता।

आरटीओ/आरपीओ - रिकवरी समय उद्देश्य और स्वीकार्य डेटा हानि।

एसएलओ: उपलब्धता/विलंबता का लक्ष्य स्तर; स्वचालित फीलओवर और रोलबैक के लिए "गेट" के रूप में कार्य करता है।

2) परतों को संतुलित करना

2. 1 L4 (TCP/UDP)

पेशेवरों: प्रदर्शन, सादगी, टीएलएस पासथ्रो। विपक्ष: कोई मार्ग समझ/कुकीज़नहीं।

उदाहरण: NLB/GLB, HAProxy/Envoy L4, IPVS।

2. 2 L7 (HTTP/gRPC)

पेशेवरों: पथ मार्ग/हेडर, कैनरी वजन, चिपचिपा। विपक्ष: सीपीयू/विलंबता में अधिक महंगा।

उदाहरण: NGINX/HAProxy/Envoy/Cloud ALB/API गेटवे।

2. 3 वैश्विक

DNS/GSLB: स्वास्थ्य-जांच + भू/भारित प्रतिक्रिया।

Anycast/BGP: दुनिया भर में एक IP, निकटतम घोषणा बिंदु।

सीडीएन/एज: परिधि पर कैश/फीलओवर।

3) वितरण एल्गोरिदम

राउंड-रॉबिन/भारित - मूल।

कम से कम कनेक्शन/विलंबता - "भारी" अनुरोध के लिए।

लगातार हैशिंग - केंद्र सत्र के बिना उपयोगकर्ता/किरायेदार चिपचिपाहट।

हैश-आधारित इलाके - कैश और स्टेटफुल सेवाओं के लिए।

4) सत्र और चिपचिपा

कुकी-चिपचिपा: L7 LB उदाहरण पर लौटने के लिए एक कुकी सेट करता है।

Src-IP चिपचिपा: L4 पर, NAT/CGNAT के साथ बदतर।

सुसंगत हैशिंग: क्षैतिज कैश/चैट के लिए बेहतर।

लक्ष्य: यदि संभव हो, तो स्टेटलेस सेवा करें, अन्यथा - असफलता को सरल बनाने के लिए राज्य (रेडिस/डीबी में सत्र) को बाहर निकालें।

5) विश्वसनीयता: स्वास्थ्य-जांच और रोटेशन से हटाना

सक्रिय जांच: HTTP 200/डीप बिजनेस पाथ प्रोब (उदा। निर्भरता के साथ '/healthz/वापस लेना ')।

निष्क्रिय (बाहरी पहचान): 5xx/टाइमआउट पर बैकएंड इजेक्शन।

वार्म-अप: नए उदाहरणों का चिकना समावेश (धीमी गति से शुरू)।

सुंदर नाली - पूल से निकालें - अनुरोधों को पूरा करने के लिए प्रतीक्षा करें।

NGINX (उदाहरण):
nginx upstream api {
zone api 64k;
least_conn;
server app-1:8080 max_fails=2 fail_timeout=10s;
server app-2:8080 max_fails=2 fail_timeout=10s;
keepalive 512;
}
proxy_next_upstream error timeout http_502 http_503 http_504;
proxy_next_upstream_tries 2;
दूत बाहरी पहचान (टुकड़ा):
yaml outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s max_ejection_percent: 50

6) दोष प्रबंधन: टाइमआउट/रीट्री/सर्किट-ब्रेकिंग

टाइमआउट: क्लाइंट टाइमआउट से कम; प्रति-मार्ग निर्दिष्ट करें।

रेट्रीज़: जिटर और आइडेम्पोटेंसी के साथ 1-2; निष्क्रियता कुंजियों के बिना POST पर निषेध।

सर्किट ब्रेकर: एक साथ अनुरोधों/त्रुटियों को सीमित करना; "अर्ध-खुला" वसूली।

बजट: स्व-डीडीओएस की व्यवस्था नहीं करने के लिए फटने की सीमा/विलय।

7) कुबर्नेट्स-पैटर्न

ClusterIP/NodePort/LoadBalancer/Ingress - मूल आदिम।

तत्परता/जीवन: केवल तैयार बोर्डों पर यातायात।

PodDis बजट एक ही समय में N प्रतिकृतियों को नहीं छोड़ सकता है।

HPA/VPA: CPU/RED मैट्रिक्स द्वारा स्केलिंग, LB से लिंक।

सर्विसटोपोलॉजी/टोपोलॉजी अवेयर संकेत: ज़ोन द्वारा इलाके।

सेवा प्रकार = LoadBalancer (क्षेत्रीय): प्रत्येक AZ में कम से कम 2 प्रतिकृतियाँ।

एक महत्वपूर्ण मार्ग के लिए तत्परता का एक उदाहरण:
yaml readinessProbe:
httpGet: { path: /healthz/dependencies, port: 8080 }
periodSeconds: 5 failureThreshold: 2

8) क्रॉस-ज़ोन और क्रॉस-क्षेत्रीय याताया

मल्टी-एजेड (क्षेत्र के भीतर): समान रूप से (जोनल एलबी), भंडारण - तुल्यकालिक प्रतिकृतियां वितरित करें।

बहु-क्षेत्र:
  • सक्रिय-सक्रिय: दोनों क्षेत्र यातायात की सेवा कर अधिक जटिल - आपको डेटा प्रतिकृति, स्थिरता और भौगोलिक मार्ग की आवश्यकता है।
  • सक्रिय-निष्क्रिय: मुख्य क्षेत्र सेवा करता है, आरक्षित - "गर्म/गर्म/ "आसान, तेज स्विचिंग, लेकिन उच्च आरपीओ।
जीएसएलबी रणनीतियाँ:
  • जियो-डीएनएस (निकटतम क्षेत्र)।
  • भारित डीएनएस (कैनरी/पुनर्वितरण)।
  • विलंबता-आधारित (आरटीटी माप)।
  • विफल = स्वास्थ्य/उपलब्धता संकेतों द्वारा (कई सहूलियत बिंदुओं से जांच)।

9) डेटा और विफलता

कैश/राज्य: यदि संभव हो - क्षेत्रीय रूप से स्थानीय; सक्रिय-सक्रिय के लिए - CRDT/सुसंगत हैश।

DB:
  • तुल्यकालिक प्रतिकृति = कम आरपीओ, उच्च विलंबता।
  • अतुल्यकालिक = कम विलंबता, लेकिन RPO> 0।
  • कतारें: मिररिंग/मल्टीक्लस्टर टॉपिकल्स; घटना deduplication।
  • संचालन और पुनरावृत्ति यांत्रिकी की डिजाइन पहचान।

10) परिधि: DNS/Anycast/BGP/CDN

DNS: शॉर्ट TTL (30-60 के दशक) + आपके नेटवर्क से स्वास्थ्य-जांच।

Anycast: एक IP के साथ कई POPs - निकटतम एक यातायात प्राप्त करता है, फीलओवर रूटिंग स्तर पर है।

सीडीएन/एज: सुरक्षा के लिए कैश और "गेटवे", स्थिर/मीडिया को तब सेवित किया जाता है जब मूल गिरता है; मूल-ढाल + пер -POP स्वास्थ्य।

11) नमूना विन्यास

HAProxy L7:
haproxy defaults timeout connect 2s timeout client 15s timeout server 15s retries 2 option redispatch

backend api balance leastconn option httpchk GET /healthz/dependencies http-check expect status 200 server app1 app-1:8080 check inter 5s fall 2 rise 2 slowstart 3000 server app2 app-2:8080 check inter 5s fall 2 rise 2 slowstart 3000
NGINX चिपचिपा по कुकी:
nginx upstream api {
hash $cookie_session_id consistent;
server app-1:8080;
server app-2:8080;
}
दूत पुन: प्रयास/टाइमआउट (मार्ग):
yaml route:
timeout: 2s retry_policy:
retry_on: 5xx,connect-failure,reset num_retries: 1 per_try_timeout: 500ms

12) स्वचालित विफलता: संकेत और द्वार

टेक-एसएलआई: 5xx-दर, p95/p99, संतृप्ति, टीएलएस हैंडशेक, टीसीपी रीसेट।

व्यवसाय एसएलआई: जमा/संवितरण की सफलता, पीएसपी में कोई भुगतान त्रुटि नहीं।

गेट्स: यदि थ्रेसहोल्ड पार हो जाते हैं, तो ज़ोन/उदाहरण को बंद कर दें, स्थिर पूल का वजन बढ़ाएं, जीएसएलबी स्विच करें।

रनबुक: चरण-दर-चरण रोलबैक निर्देश।

13) टेस्ट और निरीक्षण (अराजकता और खेल-दिन)

अराजकता परीक्षण: AZ/क्षेत्रों को अक्षम करना, DB/cache गिरावट, पैकेट-हानि सिमुलेशन।

गेम-डे: ऑन-कॉल टीमों की विशेषता वाला फेयलोवर प्रशिक्षण।

निदान: परिधि से बैकेंड तक ट्रेसिंग, रिलीज एनोटेशन और मेट्रिक्स से मेल खाता है।

14) सुरक्षा और अनुपालन

परिधि पर LB↔servisy, WAF/दर सीमा के बीच mTLS।

विफलता/विभाजन क्षेत्र: विस्फोट-त्रिज्या अलगाव।

नीतियां: विफलता का एकल बिंदु (SPOF) निषेध, "न्यूनतम N प्रतिकृतियां/AZ" के लिए आवश्यकताएं।

15) एंटी-पैटर्न

सभी यातायात (SPOF) के लिए एक LB/एक क्षेत्र।

कोई गहरी जाँच '/healthz '(हरा - लेकिन DB/कतार अनुपलब्ध)।

बिना पहचान के रिट्रे - डबल लेनदेन/भुगतान।

बड़े पैमाने पर NAT → असंतुलन के साथ प्रति IP स्टिकी।

डीएनएस फीलओवर उच्च टीटीएल के साथ (स्विच करने से पहले घंटे)।

जब कमी - अनुरोध टूटने पर कोई सुंदर नाली नहीं।

16) कार्यान्वयन चेकलिस्ट (0-45 दिन)

0-10 दिन

AZ ≥2 को पोस्ट उदाहरण; तत्परता/जीवनयापन, स्वास्थ्य-जांच सक्षम करें।

कॉन्फ़िगर करें (1 प्रयास), बाहरी पहचान।

सुंदर नाली और धीमी गति से शुरू सक्षम करें।

11-25 दिन

परिधि के लिए GSLB (भू/भारित) या Anycast भरें।

कैनरी वजन/मार्ग नीतियां; कुकी/सुसंगत हैश के माध्यम से चिपचिपा।

ऑटो-फीलओवर (p95/5xx + बिजनेस SLI) के लिए SLO द्वार।

26-45 दिन

क्षेत्रीय डीआर: अनुवाद परीक्षण के साथ सक्रिय-सक्रिय या सक्रिय-निष्क्रिय।

AZ/क्षेत्रों के साथ अराजकता के दिन, RTO/RPO रिपोर्ट।

स्वचालित रनबुक 'और (ठहराव/शिफ्ट/रोलबैक स्क्रिप्ट)।

17) परिपक्वता मैट्रिक्स

मल्टी-एज़कवरेज ≥ 99% महत्वपूर्ण रास्ते।

DNS/GSLB/Anycast को सार्वजनिक समापन बिंदुओं के लिए लागू किया जाता है।

MTTR जब एक AZ गिरता है <5 मिनट (p95)।

महत्वपूर्ण डेटा के लिए RPO ≤ लक्ष्य (उदाहरण के लिए, ≤ 30 सेकंड)।

त्रैमासिक खेल-दिन और सफल अनुसूचित फीलओवर।

18) निष्कर्ष

विश्वसनीय संतुलन और विफलता एक स्तरित वास्तुकला है: स्थानीय L7-policies (टाइमआउट/रेट्रीज ़/सीबी, हेल्थ-चेक), सही चिपचिपाहट और हैशिंग, क्रॉस-ज़ोन स्थिरता और परिधि पर - जीएसएलबी/डीएनएस/एनीकास्ट। एसएलओ गेट, पहचान, सुंदर नाली और नियमित अराजकता परीक्षण जोड़ें - और नोड, ज़ोन या यहां तक कि क्षेत्र का कोई भी नुकसान अनुमानित आरटीओ/आरपीओ के साथ एक प्रबंधनीय घटना बन जाएगा।

Contact

हमसे संपर्क करें

किसी भी प्रश्न या सहायता के लिए हमसे संपर्क करें।हम हमेशा मदद के लिए तैयार हैं!

Telegram
@Gamble_GC
इंटीग्रेशन शुरू करें

Email — अनिवार्य है। Telegram या WhatsApp — वैकल्पिक हैं।

आपका नाम वैकल्पिक
Email वैकल्पिक
विषय वैकल्पिक
संदेश वैकल्पिक
Telegram वैकल्पिक
@
अगर आप Telegram डालते हैं — तो हम Email के साथ-साथ वहीं भी जवाब देंगे।
WhatsApp वैकल्पिक
फॉर्मैट: देश कोड और नंबर (उदा. +91XXXXXXXXXX)।

बटन दबाकर आप अपने डेटा की प्रोसेसिंग के लिए सहमति देते हैं।