GH GambleHub

التشكيل وتوجيه حركة المرور

1) لماذا كل هذا

التشكيل والتوجيه - قاعدة للتوافر المُدار والوقت الذي يمكن التنبؤ به:
  • الاستقرار: لا تعطي «الجيران الصاخبين» لتسجيل القنوات.
  • الإنصاف: الأولويات والحصص بين المستأجرين/الفئات.
  • الكفاءة: نرسل الطلب إلى حيث تتم معالجته بشكل أسرع/أرخص.
  • التحكم في التغيير: إطلاقات كناري/مرجحة بدون مخاطر.
  • المدخرات: تحسين تكاليف الخروج/الخروج و CDN-cache-hitrate.

2) المفاهيم الأساسية

2. 1 تشكيل حركة المرور مقابل الشرطة

التشكيل - مواءمة حركة المرور عن طريق التخزين المؤقت وإرسال الحزم بالمعدل المستهدف (تنعيم «الانفجارات»).
الشرطة - «تعاقب» التجاوزات (إسقاط/وضع العلامات) دون التخزين المؤقت. أصعب، لكن أرخص.

2. 2 دروس وطوابير وتخصصات

قوائم الانتظار ذات الأولوية (PRIO)، WFQ/DRR (التخصيص العادل)، HTB (الحصص الهرمية)، CoDel/RED (التحكم في الكتلة العازلة)، ECN (إشارة عدم إسقاط الازدحام).
في L7 - «قوائم الانتظار» في شكل حدود RPS/الوصلات/البايت وحمامات الأولويات.

2. 3 خوارزميات الحد من

Token Bucket (n tokens added with rate r; طلب «ينفق» رموز k).
Leaky Bucket (تدفق خارجي ثابت ؛ جيد للتنعيم).
الحدود العالمية/المحلية: المحلية - السريعة، العالمية - العادلة (Redis/etcd/لكل مستأجر).

3) QoS لكل L3/L4

3. 1 DSCP/ToS وفئات الخدمة

حزم الملصقات حسب نوع المرور (تفاعلي، RPC خلفي، وظائف خلفية).
في مراكز البيانات، تفاوض على سياسة DSCP مع نسيج الشبكة/السحابة.

3. 2 Linux 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 (بدلاً من Cubic) من زمن انتظار p99، خاصة فوق طوابير WAN/الثقيلة.

4) توجيه L7 (HTTP/gRPC/WS)

4. 1 معايير التوجيه

المسارات/الطرق ('/api/v1/'، 'POST')، الرؤوس (إصدار العميل، أعلام الميزات، رأس الكناري)، ملفات تعريف الارتباط (A/B، لزج)، طوابع JWT (مستأجر/دور)، geo/ASN، نوافذ الوقت، الحمل (الكشف الخارجي).
البروتوكول: HTTP/2 (تعدد الإرسال)، HTTP/3/QUIC (مقاومة فقدان الحزم)، gRPC (تدفقات ثنائية البروم)، WebSocket (اتصالات طويلة الأمد).

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 جلسات لزجة وتجزئة متسقة

تقارب الجلسة حسب معرف ملف تعريف الارتباط/IP/JWT.
التجزئة المتسقة لمجموعات المخابئ، والخدمات القشرية، وبوابات الحد من الأسعار.

Nginx

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

4. 4 التوجيه الواعي بالأرض والكمون

GeoIP/ASN على الحافة (CDN/edge) → أقرب ملوثات عضوية ثابتة/منطقة.
الكمون الواعي: عينات صحية دورية + قياسات RTT → حركة المرور إلى المجموعة «الأسرع».

4. 5 الكشف الخارجي/كسر الدائرة

التخلص من الحالات «السيئة»: الحد الأقصى للطرد بالمائة، الأخطاء الأساسية/زمن الانتقال.
قاطع الدائرة: حدود على الاتصالات/RPS/في قوائم الانتظار.

5) تشكيل حركة المرور على مستوى البوابة/مكدس الهريس

5. 1 الحد من المعدل

المحلية (لكل جراب): رخيصة، ولكن ليست نسخة طبق الأصل عادلة.
Global (Redis/etcd): صلاحية المفتاح لكل مستأجر/واجهة برمجة التطبيقات.
السياسيون: لكل مسار، لكل طريقة، لكل مستأجر، انفجر.

المبعوث RLS (رسم تخطيطي)

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. ٢ الانصاف والأولويات

مجمعات الأولويات تفاعلية> النظام> الخلفية.
مكافئات DRR/WFQ على L7: الحصص/الأوزان لكل عميل/مستأجر.

5. 3 الحمل الزائد والحماية

سقيفة الأحمال: الفشل/التدهور عند تجاوز الميزانيات.
التزامن التكيفي: ديناميكيات الحدود من p50/p95/queue-len.
ضغط الخلف بجانب الخادم: 429/503 + Retry-After.

6) eBPF و CNI

6. 1 Cilium/eBPF

الترشيح/التوجيه في النواة: عدد أقل من المفاتيح السياقية وسياسات L3-L7 الرقيقة.
تجزئة ماجليف للتوزيع المستقر.
برامج eBPF لكل جراب QoS (خطافات TC/XDP).

6. 2 كاليكو/NetworkPolicies

سياسات الوصول إلى L3/L4، الفئات ذات الأولوية الأساسية، التكامل مع Kubernetes QoS (مضمون/Burstable/BestFound).

7) بوابات Edge/CDN وواجهة برمجة التطبيقات

CDN: مفاتيح ذاكرة التخزين المؤقت (استعلام التطبيع/الرؤوس)، إعادة التأهيل القديمة، حماية المنشأ (مرشحات حد المعدل/الروبوت).
بوابات واجهة برمجة التطبيقات: المصادقة، الحصص/خطط التعريفة (لكل مستهلك)، قيود SLA، التوجيه الجغرافي، إصدار API.
WAF: الترشيح عند الحافة حتى لا تضيع وحدة المعالجة المركزية للنواة.

8) الحافلات/البث غير المتزامن

كافكا/ناتس/بولسار: حصص المنتج/المستهلك، حد حجم الدفعة، الضغط الخلفي عبر التأخير.
توجيه الحدث: المستأجر/مفتاح الخصوصية، التقسيمات الوامضة للتوحيد.
مرة واحدة بالضبط ≈ «فعال مرة واحدة»: منتجو المعاملات + الكدمات الحمقاء.

9) المهلة، التراجع، التراجع

المهلة من البداية إلى النهاية: العميل <الوكيل <الخدمة (وليس العكس).
Retrai: رقم محدود مع تراجع أسي متوتر ولكن بدون عواصف.
فالفراغ إلزامي في حالات التراجع ؛ خلاف ذلك - SAGA/التعويض.
الطلبات التحوطية/الموازية (تحذير): تحسن p99، وتزيد من حركة المرور الإجمالية.

10) إمكانية الرصد و SLO

10. 1 مقاييس

، ، ، ، ، ، .

الفصول: فئة = تفاعليةنظامالخلفية، المستأجر، الطريق.

10. 2 التعقب

Scan Correlation-ID; علامة الامتدادات مع نوع السبب: "إعادة" تسليط "دواسة الوقود" قائمة انتظار ".
وصلات لإعادة/تحوطات لفهم التأثير على النظم الفرعية.

10. 3 سجلات/تقارير

ملخص القطرات/التخلص/الحدود، خرائط الحرارة حسب المسار.
لوحات منفصلة لمؤشر الإنصاف.

10. 4 أمثلة SLO

"p99 ≤ 300 مللي ثانية عند حمل 95 في المائة ؛ سقيفة ≤ 0. 1%; error_ratio ≤ 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

مضمون للقيعان الحرجة (الطلبات = الحدود).
PodPriority & Preemption: ستحل القيعان الحرجة اختناقات الخلفية.
Topology Spread Restructions: distribunation for sustainability (باللغة الإنجليزية).

12) الأنماط المضادة

حد العين العالمي → 429/مهلة زائفة للعملاء المهمين.
Retrai بدون رعشة/غباء → عاصفة.
ارتباك المهلات (العميل> الخادم) → التجميد و «العمل المزدوج».
مخابئ/قوائم انتظار مشتركة للحث والتجارب → تلوث البيانات.
«لزج دائمًا» بدون الفطرة السليمة → حمل غير متكافئ/عقدة ساخنة.
الكشف الخارجي المعاق → حالة فاسدة يفسد مقاييس الأسبوع.

13) قائمة التنفيذ المرجعية

  • حركة المرور القطاعية: الفئات/المستأجرين/الطرق.
  • تحديد الميزانيات المستهدفة إلى RPS/connections/bytes و p95/p99.
  • تمكين حد السعر (المحلي + العالمي)، قاطع الدائرة، الكشف الخارجي.
  • اضبط تقسيم الكناري + التراجع التلقائي عن المقاييس.
  • سجل المهلات/عمليات إعادة التدوير مع تراجع أسي + نفض.
  • تمكين ECN/BBR (عند الاقتضاء) fq_codel/HTB للخروج.
  • برك/مخابئ/قوائم انتظار فردية للظل والتجارب.
  • لوحات القيادة: مقاييس الحدود، قوائم الانتظار، زمن الوصول، الإنصاف.
  • SLO وكتاب التشغيل: معايير التخلص/التراجع/التمكين.

14) الأسئلة الشائعة

س: ماذا تختار: التشكيل أم الشرطة ؟

ج: للمسارات المخصصة - التشكيل (مكافحة التسلية بدون قطرات). بالنسبة لفئات الخدمة «الخلفية «/» الكتلة «- الشرطة لحماية التدفقات الحرجة.

س: كيف تتجنب العواصف المتراجعة ؟

ج: التراجع المتقلب، حد المحاولات، الخصوصية، الخادم يطالب بـ «إعادة التجربة بعد»، الحصص العالمية.

س: لزج أم تجزئة ؟

ج: لزج - عندما تكون هناك حاجة إلى جلسة/يكون المخبأ محليًا للمستخدم ؛ التجزئة - عندما تحتاج إلى التوحيد واستقرار الشق.

س: ما الذي يعطي HTTP/3/QUIC ؟

ج: بدون أقفال TCP HOL، وتحمل أفضل للخسارة، واسترداد أسرع - يقلل بشكل كبير من ذيول p99/p999.

15) المجاميع

التشكيل الفعال والتوجيه L7 هو مجموعة متسقة من السياسات: الأولويات والحصص، والتوزيع العادل، والحدود الآمنة والتوجيه الذكي، مدعومة بقابلية الملاحظة و SLO. من خلال اتباع الممارسات الموصوفة (HTB/fq_codel/ECN في المستويات الدنيا والمبعوث/Istio/Nginx/eBPF في الأعلى)، ستحصل على ذيول زمن انتقال يمكن التنبؤ بها، ومقاومة للحمل الزائد والإطلاقات الخاضعة للرقابة والآمنة.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

Telegram
@Gamble_GC
بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.