GH GambleHub

संतुलन लोड करें

1) वास्तुकला में यह क्यों और कहां है

संतुलन ग्राहक और बैकएंड बेड़े के बीच एक "टर्नस्टाइल" है। इसके उद्देश्य हैं:
  • उपलब्धता (विफलता के एक बिंदु के बिना), विलंबता (p95 डाउन), स्केल (क्षैतिज), सुरक्षा (टीएलएस/डब्ल्यूएएफ), रिलीज प्रबंधनीयता (कैनरी/ब्लू-ग्रीन)।
अनुप्रयोग परतें:
  • एज/ग्लोबल: Anycast, GSLB/GeoDNS, CDN/Edge-LB, DDoS।
  • L4 (TCP/UDP): NLB, maglev, प्रॉक्सी बिना समाप्ति के।
  • L7 (HTTP/2, gRPC, WebSocket, QUIC): पथ मार्ग/हेडर/टिकट, कैश/संपीड़न/रिट्रेज़।
  • डेटा-टियर: DB- (Pgbouncer/ProxySQL), Redis Cluster/सुसंगत हैश, काफ्का विभाजन।

2) संतुलन मॉडल और एल्गोरिदम

राउंड-रॉबिन (आरआर): सरल वर्दी।

कम से कम कनेक्शन (LC): लंबे कनेक्शन (WS, gRPC) के लिए अच्छा है।

कम से कम अनुरोध/पावर-ऑफ-टू (P2C): दो यादृच्छिक लोगों की तुलना करना एक अच्छी गति/गुणवत्ता संतुलन है।

भारित आरआर/एलसी: कैनरी/हॉट नोड्स के लिए वजन।

सुसंगत हैशिंग (CH): सत्र चिपचिपाहट बिना टेबल (गाड़ी, रेडिस)।

मैगलेव/फ्लो-हैश: फ्लैपिंग प्रतिरोध के साथ तेज L3/L4 वितरण।

विलंबता-जागरूक: p50/p95 स्लाइडिंग द्वारा चयन।

EWMA: देरी के इतिहास को ध्यान में रखता है।

सिफारिश: L7 पर डिफ़ॉल्ट P2C (कम से कम-अनुरोध) द्वारा; स्टेटफुल/कैश के लिए - सुसंगत हैश; для WS/gRPC - कम से कम कनेक्शन।

3) अपस्ट्रीम स्वास्थ्य: चेक और "निष्कासन"

स्वास्थ्य-जांच: TCP, HTTP 200/匹配 тела, gRPC स्थिति; अंतराल/समय सीमा/त्रुटि सीमा।

आउटलियर इजेक्शन: "शोर" उदाहरणों का स्वचालित बहिष्करण (अनुक्रमिक-5xx, सफलता-दर-अस्वीकृति)।

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

कनेक्शन जल निकासी: जब बंद/रीसेट - बिना रुकावट के सक्रिय कनेक्शन का "टॉपिंग अप"।

4) सत्र और चिपचिपाहट (चिपचिपाहट)

कुकी-चिपचिपाहट (L7): 'सेट-कुकी: lb = ; SemSite; सुरक्षित '।

कुंजी द्वारा सीएच: 'हैश (userId' cartId 'cartId)।

आईपी-हैश - केवल बंद नेटवर्क (एनएटी ब्रेक) में।

नोडल निष्कासन में टीटीएल स्टिकनेस + फॉलबैक।

महत्वपूर्ण: चिपचिपाहट की आवश्यकता को कम से कम करें - उदाहरण के बाहर राज्य को संग्रहीत करें (Redis/DB/JWT)।

5) ग्लोबल बैलेंसिंग (जीटीएम/जीएसएलबी)

Anycast + स्वास्थ्य-जांच: एक आईपी, निकटतम पीओपी के लिए यातायात; स्वचालित feilover।

जियोडीएनएस/लेटेंसी-डीएनएस: जियो/लेटेंसी रिस्पांस।

क्षेत्रीय समूह: "निवासी डेटा" क्षेत्र में रहता है (GDPR); प्रतिकृति के साथ अंतःक्षेत्रीय विफलता।

राजनेता: भू-ब्लॉक, खाते/टोकन द्वारा "स्टिकरगियन"।

6) प्रोटोकॉल और सुविधाएँ

HTTP/2: मल्टीप्लेक्स, प्राथमिकताएं; अपस्ट्रीम के लिए एक सक्षम कनेक्शन-पूल की आवश्यकता है

gRPC: लंबे समय तक रहने वाली धाराएँ - कम से कम कनेक्शन, आक्रामक स्वास्थ्य-जांच।

WebSocket/SSE: कनेक्शन पर चिपचिपाहट, बड़े निष्क्रिय समय, टीसीपी रखना-जीवित।

QUIC/HTTP/3: तेजी से शुरुआत, नुकसान का प्रतिरोध; MTU/patch-MTU की निगरानी करें।

TLS-समाप्ति/mTLS: edge/L7-LB पर समाप्त करें; मौखिक mTLS/पहचान (SPIFFE)।

7) ओवरलोड नियंत्रण

दर-सीमा: प्रति-आईपी, प्रति-कुंजी, प्रति-मार्ग; फट + बनाए रखना।

अनुकूली समवर्ती (दूत) - एक साथ अनुरोधों की गतिशील सीमा।

कतार/सर्ज-बफर: उचित इनकार 503 के साथ सीमित कतार का आकार।

हेजिंग/समानांतर रेसिंग: धीमी प्रश्नों की नकल करना (केवल पहचान)।

समय समाप्ति बजट: अलग कनेक्ट/पढ़ें/लिखें।

बैकप्रेशर: '503 + रेट्री-आफ्टर', जिटर क्लाइंट घातीय रिट्रीस।

धीमी गति से लोरिस सुरक्षा: पढ़ें/लिखें, न्यूनतम गति।

8) रिलीज और यातायात प्रबंधन

कैनरी (भारित): 1-5-10-25-50-100% रेलिंग (p95, 5xx, टाइमआउट)।

ब्लू-ग्रीन: तत्काल स्विच, रोलबैक - डीएनएस/एलबी।

छाया/दर्पण: प्रतिक्रिया को प्रभावित किए बिना अनुरोधों की प्रति; पीआईआई मास्किंग।

हेडर/क्लेम-रूटिंग: 'एक्स-कैनरी: 1' или 'JWT। दावे। क्षेत्र/भूमिका '।

9) स्वचालन और जल निकासी

HPA/ASG по CPU + RPS + p95 + कतार-गहराई।

प्रीस्टॉप हुक: कनेक्शन पूरा होने का इंतजार करें।

वार्म पूल/उदाहरण पुन: उपयोग: ठंड को छोटा करना शुरू होता है।

क्षमता नियोजन: p95 पर लक्ष्य '60-70% का उपयोग' सामान्य है।

10) अवलोकन और एसएलओ

LB मेट्रिक्स: RPS, p50/p95/p99, 4xx/5xx, ओपन-कनेक्शन, कतार-लेन, इजेक्शन, रिट्रीज, हिट-अनुपात कैश।

ट्रेसिंग: LB services databases के माध्यम से 'traceparent/x-requess-id'।

लॉग: संरचनात्मक, पीआईआई/पैन मास्क, ऊपर की ओर सहसंबंध।

रूट SLO: उदाहरण के लिए, 'विलंबता p95 ≤ 300 ms', 'उपलब्धता ≥ 99। 9% ',' 5xx ≤ 0। 5%`.

अलर्ट: विचलन (बर्न-रेट एसएलओ, इजेक्शन सर्ज, 5xx/टाइमआउट ग्रोथ) द्वारा।

11) डेटा और कैश को संतुलित करना

PostgreSQL/MySQL:
  • पढ़ें/लिखें विभाजन (ProxySQL/pgpool) + पठन-प्रतिकृतियाँ; चिपचिपा txn।
  • विफल: RPO = 0 (अधिक महंगा) के लिए तुल्यकालिक प्रतिकृति।
रेडिस:
  • रेडिस क्लस्टर + हैश-स्लॉट; सत्रों के लिए - सीएच; टाइमआउट/रिट्रीबल त्रुटियां।
काफ्का/रेडपांडा:
  • विभाजन और उपभोक्ता-समूहों के माध्यम से संतुलन; HTTP-LB के साथ भ्रमित नहीं होना।
  • वस्तु भंडारण (S3/MinIO): बहु-क्षेत्र विफल через GSLB/प्रतिकृति।

12) K8s और क्लाउड एलबी

सेवा (ClusterIP/NodePort/LoadBalancer) - आधार L4।

इंग्रेस/गेटवे एपीआई - एल 7 रूटिंग, कैनरी वेट, टीएलएस।

AWS: NLB (L4, हाई बैंडविड्थ), ALB (L7, WAF, चिपचिपा, हेडर-रूटिंग)।

GCP: ग्लोबल LB (L7/HTTP (S) с Anycast), TCP/UDP प्रॉक्सी LB।

Azure: फ्रंट डोर (वैश्विक), एप्लिकेशन गेटवे (L7), लोड बैलेंसर (L4)।

13) कॉन्फ़िगरेशन उदाहरण

13. 1 NGINX (L7, least_conn, चिपचिपा, कैनरी)

nginx upstream api_pool {
least_conn;
server api-1:8080 max_fails=3 fail_timeout=10s;
server api-2:8080 max_fails=3 fail_timeout=10s;
sticky cookie lb_id expires=30m path=/ secure httponly;
}

map $http_x_canary $dst {
default api_pool;
1    canary_pool;
}

upstream canary_pool {
least_conn;
server api-canary:8080 weight=1;
}

server {
listen 443 ssl http2;
location /api/ {
proxy_read_timeout 5s;
proxy_connect_timeout 1s;
proxy_set_header X-Request-Id $request_id;
proxy_pass http://$dst;
}
}

13. 2 HAProxy (P2C, स्वास्थ्य, धीमी गति, छड़ी-तालिका)

haproxy backend api balance leastconn option httpchk GET /health default-server inter 3s fall 3 rise 2 slowstart 10s server s1 10. 0. 0. 11:8080 check server s2 10. 0. 0. 12:8080 check stick-table type ip size 100k expire 30m http-request track-sc0 src rate limit per IP http-request deny deny_status 429 if { sc_http_req_rate(0) gt 50 }

13. 3 दूत (P2C, बाहरी, पुनर्प्राप्ति, अनुकूली संगति)

yaml load_assignment: {... }
lb_policy: LEAST_REQUEST least_request_lb_config: { choice_count: 2 }
outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s typed_extension_protocol_options:
envoy. extensions. filters. http. adaptive_concurrency. v3. AdaptiveConcurrency:
gradient_controller_config:
sample_aggregate_percentile: PERCENTILE_50 retry_policy:
retry_on: "5xx,reset,connect-failure"
num_retries: 2 per_try_timeout: 1s

13. 4 कुबर्नेट्स (गेटवे एपीआई, भारित कैनरी)

yaml apiVersion: gateway. networking. k8s. io/v1 kind: HTTPRoute spec:
rules:
- matches: [{ path: { type: PathPrefix, value: /api }}]
backendRefs:
- name: api-v1 weight: 90 port: 8080
- name: api-v2-canary weight: 10 port: 8080

14) चेकलिस्ट

एलबी/रूट रिलीज से पहले

  • एल्गोरिथ्म यातायात प्रकार के लिए चयनित (P2C/LC/CH)।
  • स्वास्थ्य-जांच और इजेक्शन थ्रेसहोल्ड कॉन्फ़िगर किए गए हैं।
  • धीमी गति से शुरू, वार्मअप, कनेक्शन-ड्रेन सक्षम।
  • टीएलएस/एमटीएलएस, एचएसटीएस, सुरक्षित सिफर; HTTP/2/3 यदि आवश्यक हो।
  • स्टिकी/सीएच केवल यदि आवश्यक हो; टीटीएल и फॉलबैक।
  • दर-सीमा/फट, टाइमआउट, रीट्री-बजट, अनुकूली संगति।
  • लॉग/ट्रेल्स: 'ट्रेस-आईडी' फेंका गया है; पीआईआई मास्किंग।
  • SLO/अलर्ट p95/5xx/चुनाव/कतार-लेन द्वारा।
  • कैनरी भार + रोलबैक योजना; बड़े परिवर्तनों के साथ छाया।

भुगतान/अनुपालन मार्गों के लिए

  • Idempotency-Key।
  • पीएसपी के बीच विफलता; समान विधि की जाँच।
  • त्रुटि कोड सामान्यीकृत हैं; प्रति ग्राहक ईटीए/कारण।

डीबी/कैश के लिए

  • आरडब्ल्यू-स्प्लिट/प्रतिकृतियाँ; टाइमआउट, नेटवर्क रीट्री।
  • रेडिस के लिए सीएच/स्लॉट-हैश; "हॉट कीज़" के खिलाफ सुरक्षा।
  • विलंबता निगरानी और प्रतिकृति-अंतराल।

15) गुणवत्ता मैट्रिक्स (न्यूनतम)

मार्ग/विधि द्वारा लेटेंसी p50/p95/p99।

त्रुटि दर 4xx/5xx, टाइमआउट/ओवरफ्लो।

खोलें/सक्रिय कनेक्शन, कतार गहराई, पुनः गणना.

बाहरी बेदखली और कारण।

स्टिकी हिट-अनुपात/कैश हिट-अनुपात।

GSLB: क्षेत्रीय वितरण, faylovers, PoP उपलब्धता।

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

एक असुरक्षित अखंड एलबी।

राज्य को बाहर निकालने के बजाय स्टिकी सत्र "सब कुछ के लिए"।

वैश्विक अनंत कतारें (समस्या को छिपाएं, p99 बढ़ें)।

बिना जिटर/बजट के रेट्राई अनुरोधों का "तूफान" है।

ट्रस्ट 'एक्स-फॉरवर्ड-फॉर' विथआउट विश्वसनीय प्रॉक्सी की एक सूची।

कमी के दौरान नाली की कमी → WS/gRPC टूट जाता है।

ऑटोस्केल होने पर लंबे समय तक जीवित कनेक्शन को ध्यान में रखने में विफलता।

17) iGaming विशिष्टता

चोटियों और टूर्नामेंट: निर्देशिका/लिस्टिंग (1-5 एस) पर माइक्रो-कैश, बदले में ऑटो-स्केल।

लाइव गेम/स्ट्रीम: लंबे कनेक्शन के लिए एलसी, निकटतम पीओपी की प्राथमिकता।

भुगतान: भू/मुद्रा/राशि/प्रदाता मार्ग; सख्त समय और पहचान।

जिम्मेदार खेल और अनुपालन: गिरावट के साथ भी सीमा/ताले के लिए अनुरोधों को छोड़ ने की प्राथमिकता (नीति द्वारा विफल-खुला/बंद)।

18) कार्यान्वयन प्रक्रिया (4 स्प्रिंट)

1. ट्रैफिक मैप: प्रोटोकॉल, p95/p99 लोड, महत्वपूर्ण मार्ग।

2. एलबी कॉन्फ़िगरेशन: एल्गोरिदम, स्वास्थ्य/बाहरी, टीएलएस, सीमा/समय, अवलोकन।

3. GSLB/Edge: Anycast/GeoDNS, PoP समर्थन, क्षेत्रीय डेटा नीतियां।

4. रिलीज की रणनीति: कैनरी/छाया, एसएलओ अलर्ट, ऑटोस्केल + नाली, घटना के बाद का विश्लेषण।

अंतिम धोखा पत्र

ट्रैफिक (P2C/LC/CH) के प्रकार और कनेक्शन की अवधि के लिए एक एल्गोरिथ्म चुनें।

अपनी अपस्ट्रीम "स्वस्थ" रखें: स्वास्थ्य-जांच + बाहरी + धीमी गति से शुरू + नाली।

पीक लोड का प्रबंधन करें: दर-सीमा, अनुकूली संगति, विफलता के साथ कतारें।

क्षेत्र द्वारा वैश्विक उपलब्धता और अनुपालन के लिए GSLB/Anycast का उपयोग करें।

अवलोकन और एसएलओ अनिवार्य हैं; रिलीज - रोलबैक प्लान के साथ कैनरी/छाया के माध्यम से।

जहां संभव हो, उदाहरणों से सत्र हटा दें और एलबी से चिपचिपाहट करें।

Contact

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

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

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

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

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

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