GH GambleHub

आकार देना और यातायात मार्ग

1) यह सब क्यों

आकार और मार्ग - प्रबंधित उपलब्धता और अनुमानित विलंबता का एक आधार:
  • स्थिरता: चैनलों को स्कोर करने के लिए "शोर पड़ोसियों" को न दें।
  • निष्पक्षता: किरायेदारों/वर्गों के बीच प्राथमिकताएं और कोटा।
  • दक्षता: हम अनुरोध भेजते हैं जहां इसे तेजी से/सस्ता संसाधित किया जाता है।
  • परिवर्तन नियंत्रण: बिना जोखिम के कैनरी/भारित रिलीज।
  • बचत: एग्रेस/एग्रेस-लागत और सीडीएन-कैश-हिट्रेट का अनुकूलन।

2) बुनियादी अवधारणाएं

2. 1 ट्रैफिक आकार बनाम पुलिसिंग

आकार देना - लक्ष्य दर पर पैकेट भेजने और बफरिंग द्वारा यातायात को संरेखित करता है (चिकना "विस्फोट")।

पुलिसिंग - बफरिंग के बिना ज्यादतियों (ड्रॉप/अंकन) को "दंडित" करता है। कठिन, लेकिन सस्ता।

2. 2 कक्षाएं, कतारें और विषय

प्राथमिकता कतारें (PRIO), WFQ/DRR (मेला आवंटन), HTB (पदानुक्रमित कोटा), CoDel/RED (बफर ब्लॉक कंट्रोल), ECN (नो ड्रॉप कंजेशन सिग्नल)।

L7 पर - आरपीएस लिमिट/कनेक्शन/बाइट्स और प्राथमिकता पूल के रूप में "कतारें"।

2. 3 एल्गोरिदम को सीमित करना

टोकन बाल्टी (n टोकन दर आर के साथ जोड़ा गया; अनुरोध "खर्च" k टोकन)।

लीकी बाल्टी (निश्चित बहिर्वाह; चिकनी करने के लिए अच्छा)।

वैश्विक/स्थानीय सीमा: स्थानीय - तेज, वैश्विक - मेला (Redis/etcd/per-kenant)।

3) QoS प्रति L3/L4

3. 1 DSCP/TOS और सेवा की कक्षाएं

ट्रैफिक प्रकार (इंटरैक्टिव, बैकेंड आरपीसी, पृष्ठभूमि कार्य) द्वारा लेबल पैकेट।

डेटा केंद्रों में, नेटवर्क कपड़े/क्लाउड के साथ डीएससीपी नीति पर बातचीत करें।

3. 2 लिनक्स tc: HTB + fq_codel (थंबनेल)

bash
Clearing tc qdisc del dev eth0 root 2 >/dev/null         true

Корневая HTB с 1Gbit tc qdisc add dev eth0 root handle 1: htb default 30 tc class add dev eth0 parent 1: classid 1:1 htb rate 1gbit

Класс latency-critical 200Mbit tc class add dev eth0 parent 1:1 classid 1:10 htb rate 200mbit ceil 1gbit prio 0 tc qdisc add dev eth0 parent 1:10 handle 10: fq_codel

Класс background 100Mbit tc class add dev eth0 parent 1:1 classid 1:30 htb rate 100mbit ceil 1gbit prio 2 tc qdisc add dev eth0 parent 1:30 handle 30: fq_codel

3. 3 ECN/RED/BBR

ECN चोटियों पर बूंदों को कम करता है; RED/CoDel बफरिंग को प्रतिबंधित करता है।

BBR (घन के बजाय) अक्सर p99 विलंबता को कम करता है, विशेष रूप से WAN/भारी कतारों के शीर्ष पर।

4) L7 रूटिंग (HTTP/gRPC/WS)

4. 1 रूटिंग मानदंड

पथ/पद्धति ('/api/v1/', 'POST'), हेडर (क्लाइंट संस्करण, फ्लैग्स, कैनरी हेडर), कुकीज़ (A/B, स्टिकी), JWT टिकट (किरायेदार/भूमिका), जियो/ASn, समय, लोड (आउटलेयर)।

प्रोटोकॉल: HTTP/2 (मल्टीप्लेक्सिंग), HTTP/3/QUIC (पैकेट लॉस का प्रतिरोध), जीआरपीसी (द्वि-डी धाराएं), वेबसॉकेट (लंबे समय तक जीवित कनेक्शन)।

4. 2 भारित विभाजन/कैनरी रिलीज़

रूट 'v1: 95%', 'v2: 5%', "ग्रीन" मेट्रिक्स के साथ स्वचालित वृद्धि।

कट-ऑफ: त्रुटियां/विलंबता/व्यापार अपरिवर्तनीय।

दूत (स्केच)

yaml route:
weighted_clusters:
clusters:
- name: svc-v1 weight: 95
- name: svc-v2 weight: 5

इस्तियो

yaml apiVersion: networking. istio. io/v1beta1 kind: VirtualService spec:
hosts: ["svc"]
http:
- route:
- destination: { host: svc, subset: v1, weight: 95 }
- destination: { host: svc, subset: v2, weight: 5 }

4. 3 स्टिकी सत्र और लगातार हैशिंग

कुकी/आईपी/जेडब्ल्यूटी पहचानकर्ता द्वारा सत्र आत्मीयता।

कैश क्लस्टर, शर्मीली सेवाओं, दर सीमा गेटवे के लिए लगातार हैशिंग।

Nginx

nginx upstream api {
hash $cookie_user_id consistent;
server 10. 0. 0. 1;
server 10. 0. 0. 2;
}

4. 4 जियो- और विलंबता-जागरूक मार्ग

जियोआईपी/एएसएन किनारे पर (सीडीएन/किनारे) - निकटतम पीओपी/क्षेत्र।

विलंबता-जागरूक: आवधिक स्वास्थ्य नमूने + आरटीटी माप - "सबसे तेज" क्लस्टर के लिए यातायात।

4. 5 आउटलियर डिटेक्शन/सर्किट ब्रेकिंग

"खराब" उदाहरणों को खटखटाना: अधिकतम-इजेक्शन-प्रतिशत, बुनियादी त्रुटियां/विलंबता।

सर्किट ब्रेकर: कनेक्शन/आरपीएस/कतारों में सीमाएं।

5) गेटवे/मैश स्टैक स्तर पर ट्रैफिक को आकार देना

5. 1 दर सीमित

स्थानीय (प्रति-फली): सस्ता, लेकिन उचित अंतर-प्रतिकृति नहीं।

ग्लोबल (Redis/etcd): वैधता प्रति-किरायेदार/एपीआई कुंजी।

राजनेता: प्रति-मार्ग, प्रति-विधि, प्रति-किरायेदार, फट।

दूत आरएलएस (स्केच)

yaml typed_per_filter_config:
envoy. filters. http. ratelimit:
"@type": type. googleapis. com/envoy. extensions. filters. http. ratelimit. v3. RateLimit domain: "api"
rate_limit_service:
grpc_service: { envoy_grpc: { cluster_name: rate_limit_cluster } }

5. 2 निष्पक्षता और प्राथमिकताएं

प्राथमिकता पूल इंटरैक्टिव> सिस्टम> पृष्ठभूमि हैं।

L7 पर DRR/WFQ समकक्ष: कोटा/वजन प्रति-ग्राहक/किरायेदार।

5. 3 ओवरलोड और सुरक्षा

लोड-शेड: बजट पार होने पर विफलता/गिरावट।

अनुकूली संगति: p50/p95/कतार-लेन से सीमाओं की गतिशीलता।

सर्वर-साइड बैकप्रेशर: 429/503 + रीट्री-आफ्टर।

6) ईबीपीएफ और सीएनआई स्तर

6. 1 सिलियम/ईबीपीएफ

कर्नेल में फ़िल्टरिंग/रूटिंग: कम संदर्भ स्विच, पतली L3-L7 नीतियां।

स्थिर वितरण के लिए मैगलेव हैशिंग।

प्रति-पॉड QoS (TC/XDP हुक) के लिए eBPF कार्यक्रम।

6. 2 कैलिको/नेटवर्किंग पॉलिसी

L3/L4 अभिगम नीतियां, बुनियादी प्राथमिकता वर्ग, कुबर्नेट्स QoS (गारंटीड/बर्स्टेबल/बेस्टएरर) के साथ एकीकरण।

7) एज/सीडीएन और एपीआई गेटवे

सीडीएन: कैश कुंजी (सामान्यीकरण क्वेरी/हेडर), बासी-जबकि-पुनर्नवीनीकरण, मूल सुरक्षा (दर सीमा/बॉट फिल्टर)।

एपीआई गेटवे: प्रमाणीकरण, कोटा/टैरिफ प्लान (प्रति-उपभोक्ता), एसएलए प्रतिबंध, भू-मार्ग, एपीआई संस्करण।

WAF: किनारे पर फ़िल्टर करना ताकि कर्नेल के सीपीयू को बर्बाद न किया जा सके।

8) अतुल्यकालिक बसें/स्ट्रीमिंग

काफ्का/एनएटीएस/पल्सर: निर्माता/उपभोक्ता कोटा, बैच आकार की सीमा, लैग के माध्यम से बैकप्रेशर।

इवेंट रूटिंग: किरायेदार/पहचान-कुंजी, एकरूपता के लिए टिमटिमाते विभाजन।

वास्तव में एक बार - "एक बार प्रभावी": लेन-देन निर्माता + आइडेम्पोटेंट चोट।

9) टाइमआउट, रिट्रीट, बैकऑफ

एंड-टू-एंड टाइमआउट: क्लाइंट <प्रॉक्सी <सेवा (इसके विपरीत नहीं)।

रेट्राई: चिड़चिड़ाघातीय बैकऑफ के साथ सीमित संख्या लेकिन कोई तूफान नहीं।

पीछे हटने में पहचान अनिवार्य है; अन्यथा - SAGA/मुआवजा।

Heded/समानांतर अनुरोध (सावधानी): p99 में सुधार, समग्र यातायात बढ़ाता है।

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

10. 1 मेट्रिक्स

, , , , , , , , ।

कक्षाएं: वर्ग = इंटरैक्टिवप्रणालीपृष्ठभूमि, किरायेदार, मार्

10. 2 ट्रेसिंग

स्कैन सहसंबंध-आईडी; कारण प्रकार के साथ निशान फैलाता है: 'रीट्री' शेड 'थ्रॉटल' कतार '।

सबसिस्टम पर प्रभाव को समझने के लिए रिट्रेज/हेजेज के लिए लिंक।

10. 3 लॉग/रिपोर्ट

बूंदों/शेडिंग/सीमाओं का सारांश, मार्ग द्वारा गर्मी के नक्शे।

निष्पक्षता सूचकांक के लिए अलग पैनल।

10. 4 एसएलओ उदाहरण

95 प्रतिशत लोड पर "p99 ≤ 300 ms; शेड ≤ 0। 1%; 0। 5%».

"ओवरलोड होने पर कम से कम 95% कोटा इंटरैक्टिव क्लास के लिए गारंटी है।"

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

11. 1 Nginx: दर सीमा + फट + कैनरी विभाजन

nginx map $http_x_canary $canary { default 0; 1 1; }

limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;

upstream api_v1 { server 10. 0. 0. 1; }
upstream api_v2 { server 10. 0. 0. 2; }

server {
location /api/ {
limit_req zone=perip burst=20 nodelay;
if ($canary) { proxy_pass http://api_v2; break; }
proxy_next_upstream error timeout http_502 http_503 http_504;
proxy_pass http://api_v1;
}
}

11. 2 दूत: सर्किट ब्रेकर + आउटलेयर का पता लगाना

yaml circuit_breakers:
thresholds:
- priority: DEFAULT max_connections: 1000 max_pending_requests: 500 max_requests: 2000 outlier_detection:
consecutive_5xx: 5 interval: 10s max_ejection_percent: 50 base_ejection_time: 30s

11. 3 इस्तियो: कोटा किरायेदार (लेबल के माध्यम से आरक्षित)

yaml apiVersion: security. istio. io/v1 kind: AuthorizationPolicy spec:
selector: { matchLabels: { app: api } }
rules:
- when:
- key: request. headers[x-tenant]
values: ["gold"]
Next - RateLimitPolicy in the limit provider with a large quota pool for "gold."

11. 4 Kubernetes QoS संकेत

महत्वपूर्ण बोतलों के लिए गारंटी (अनुरोध = सीमा)।

Podpority & Preemption: गंभीर बोतलें पृष्ठभूमि की बाधाओं को विस्थापित करेंगी।

टोपोलॉजी स्प्रेड बाधाएं: स्थिरता के लिए ज़ोनिंग।

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

वैश्विक आंख की सीमा - महत्वपूर्ण ग्राहकों के लिए गलत 429/टाइमआउट।

बिना जिटर/पहचान के रेट्राई - तूफान।

टाइमआउट (क्लाइंट> सर्वर) का भ्रम → फ्रीज और "डबल वर्क"।

प्रोड और प्रयोगों के लिए सामान्य कैश/कतारें - डेटा संदूषण।

सामान्य ज्ञान के बिना "हमेशा चिपचिपा" - असमान भार/गर्म समुद्री मील।

विकलांग बाहरी पहचान - सड़ाहुआ उदाहरण सप्ताह के मैट्रिक्स को खराब करता है।

13) कार्यान्वयन चेकलिस्ट

  • खंड यातायात: कक्षाएं/किरायेदार/मार्ग।
  • आरपीएस/कनेक्शन/बाइट्स और p95/p99 के लिए लक्ष्य बजट सेट करें।
  • दर सीमा (स्थानीय + वैश्विक), सर्किट ब्रेकर, बाहरी पहचान सक्षम करें।
  • मेट्रिक्स पर कैनरी विभाजन + ऑटो रोलबैक कॉन्फ़िगर करें।
  • घातीय बैकऑफ + जिटर के साथ रिकॉर्ड टाइमआउट/रिट्रेज़।
  • ECN/BBR (जहां लागू हो) और egress के लिए सक्षम करें।
  • छाया और प्रयोगों के लिए व्यक्तिगत पूल/कैश/कतारें।
  • डैशबोर्ड: सीमा, कतार, विलंबता, निष्पक्षता के मैट्रिक्स।
  • एसएलओ और रनबुक: शेडिंग/रोलबैक/सक्षम मानदंड।

14) एफएक्यू

प्रश्न: क्या चुनना है: आकार देना या पुलिसिंग?

A: कस्टम रास्तों के लिए - आकार देना (बूंदों के बिना एंटी-अलियासिंग)। सेवा वर्गों के लिए "पृष्ठभूमि "/" थोक "- महत्वपूर्ण प्रवाह की रक्षा के लिए पुलिसिंग।

प्रश्न: आप पीछे हटने वाले तूफानों से कैसे बचें?

A: जिटराइज्ड बैकऑफ, प्रयासों की सीमा, पहचान, सर्वर 'रेट्री-आफ्टर', वैश्विक कोटा का संकेत देता है।

प्रश्न: स्टिकी या हैशिंग?

A: स्टिकी - जब एक सत्र की आवश्यकता होती है/कैश उपयोगकर्ता के लिए स्थानीय होता है; हैशिंग - जब आपको एकरूपता और शेडिंग की स्थिरता की आवश्यकता होती है।

प्रश्न: क्या देता है?

A: TCP HOL ताले के बिना, बेहतर नुकसान सहिष्णुता, तेजी से वसूली - p99/p999 पूंछ को काफी कम करता है।

15) कुल

कुशल आकार देने और एल 7 रूटिंग नीतियों का एक सुसंगत सेट है: प्राथमिकताएं और कोटा, उचित वितरण, सुरक्षित सीमा और स्मार्ट रूटिंग, अवलोकन और एसएलओ द्वारा समर्थित। वर्णित प्रथाओं (HTB/fq_codel/ECN निचले स्तरों पर और ऊपरी स्तर पर दूत/इस्तियो/Nginx/eBPF) का पालन करके, आपको अनुमानित विलंबता पूंछ, ओवरलोड और नियंत्रित, सुरक्षित रिलीज का प्रतिरोध मिलेगा।

Contact

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

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

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

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

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

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