Tarmoq aloqalarining barqarorligi
(Bo’lim: Ekotizim va Tarmoq)
1) Maqsad va viloyat
«Tarmoq aloqalarining barqarorligi» - bu ekotizimning kanallar, uzellar, hududlar va tashqi hujumlar uzilishlarida ishtirokchilar (operatorlar, provayderlar, studiyalar, affiliatlar, nodlar/validatorlar, to’lov va KYC-servislar) o’rtasidagi o’zaro hamkorlikning ochiqligi va bashorat qilinadigan sifatini saqlab qolish qobiliyatidir. Asosiy vazifalar: MTTRni minimallashtirish, kaskadli nosozliklarni ushlab turish, nazorat qilinadigan tanazzul va maqsadli SLOga tezda tiklanish.
2) Ishdan chiqish rejimlari (Threat model)
Tarmoq: paketów/jitter yo’qotish, kanallarni ortiqcha yuklash, BGP-flap, mintaqalararo uzilishlar, assimetrik yo’nalish.
Transport/soketlar: half-open ulanish, head-of-line blocking (TCP), state exhaustion (NAT/conn-track).
Amaliy darajasi: trafik tikanlari, «uzoq vaqt o’ynaydigan» so’rovlar, n + 1 RPC, retray bo’roni.
Bog’liqlik: DNS, KMS/PKI, navbatlar, TURN/relay, uchinchi tomon APIlarining degradatsiyasi.
Xavfsizlik: DDoS L3/L4/L7, bot-flud, kesh zaharlanishi, Sybil/spam urinishlari.
Operatsion dastur: notoʻgʻri ficheflaglar, limitsiz «issiq» relizlar, notoʻgʻri taymautlar.
3) Barqarorlik dizayni prinsiplari
1. Barcha qatlamlar bo’yicha ortiqcha: yo’llar, hududlar, provayderlar, rele-uzellar, DNS, maxfiy omborlar.
2. Nosozliklarni izolyatsiya qilish: cell-based arxitektura, circuit-breakers, bulkheads, kross-katakli qo’ng’iroqlar uchun limitlar.
3. Fail-fast va time-boxing: tashqi qo’ng’iroqlarda qisqa vaqt, «abadiy kutish» taqiqlanadi.
4. Idempotentlik va xavfsiz retrajlar: idempotentlik kalitlari, qabulxonadagi dedup.
5. Andoza koʻrinish: trassalar, korrelyatsion ID, sintetik namunalar.
6. Degradatsiya rejimlari: read-only, cash-only, drop-features, tanqidiy oqimlarning ustuvorligi.
7. Chaos-muhandislik: tajriba bilan barqarorlikning isboti.
4) Topologiyalar va ortiqcha
Gibrid P2P + super-peers + DHT: «kontrakt» guruhlar ichida lokal mesh, retranslator va kesh kabi super-tugunlar, qidirish uchun DHT.
Anycast/Geo-DNS/SD-WAN: yaqin kirish, boshqariladigan oqimlar, health-based routing.
Multi-reley (TURN/HTTP3-tunnels): mustaqil yetkazib beruvchilar, faqat zarur hollarda relay uchun byudjet.
Active-Active mintaqalari: idempotent oʻqish/tadbir uchun sinxron; pul operatsiyalari uchun - yakuniy kelishuv + qat’iy yakunlash.
5) Protokollar, taymautlar va retralar
Transport: QUIC/HTTP3 (HoL-blockingsiz multiplekslash, yo’l ko’chishi), TCP - fallback kabi.
Tayminglar:- RPC client timeout: p99_latency×1. 5 (lekin ≤ 2-3 s mintaqalararo).
- Connect timeout: 200-500 ms lokal, 700-1200 ms mintaqalararo.
- Backoff: jitter bilan eksponensial; max-retries 2-3 «o’qish» qo’ng’iroqlari uchun.
- Xedjing (hedged requests): p95 kechiktirilgandan keyin ikkinchi ijrochini yuborish (faqat idempotent operatsiyalari).
- Idempotentlik:’x-idempotency-key’sarlavhasi/maydoni, dedup-jurnallar ≥ TTL retraylarni saqlash.
- Navbatlar va outbox: hodisalarni kafolatlangan yetkazib berish, tarmoq uzilishlarida takrorlash, konsumerlarda dedup.
6) Yuklamani boshqarish va «o’zini o’zi himoya qilish»
Rate-limits va kvotalar: leaky-bucket/token-bucket RPC/topiklar.
Adaptive load-shedding: yashirin boʻlganda past prioritetli soʻrovlarni bekor qilish.
Ustuvorliklar: pul/to’lovlar> o’yin tadbirlari> telemetriya.
Backpressure: dinamik oyna, parallellikni cheklash, pirlarning «kredit limitlari».
Connection pooling: issiq pullar, ochiq soketlarga limitlar/NAT holatlari.
7) DDoS va kanal xavfsizligi
L3/L4: upstream scrubbing/Anycast, conn-track защита, SYN-cookies, UDP-rate.
L7: WAF/WAAP, ochiq mavzular uchun proof-of-work/fee-gate, kapchi/spamga qarshi hamyon garovlari.
mTLS/TLS 1. 3 + E2E: «yo’lda» shifrlash, super uzellar kalitlarini pinning, sertifikatlarni rotatsiya qilish.
Anti-Sybil: ishonchli peer-ID ro’yxati, obro’si, ta’sirchan rollar uchun KYB/KYC.
Sekyur defoltlar: «ruxsat berilmagan taqdirda taqiqlangan», topiklar boʻyicha ACL, huquqlarni minimallashtirish.
8) SLO, SLI va barqarorlik metrikasi
SLO (misol):- Kritik endpointlarning uptime ≥ 99. 95 %/30d.
- p99 latency mintaqalararo ≤ 600 ms; error-rate ≤ 0. 2%.
- Success-rate P2P-RPC ≥ 99. 5%; Pub/Sub E2E p95 ≤ 2 с.
- Relay-share ≤ 30%; DHT resolve p95 ≤ 300 мс.
- MTTR SEV-1 ≤ 30 min; MTTA ≤ 5 daqiqa
- Connectivity% (pirlarga erishish), toʻgʻridan-toʻgʻri birikmalar ulushi, qoʻshnilarning oʻrtacha soni.
- RTT/Jitter/Loss trafik sinflari bo’yicha; RPC success/failure taxonomy.
- / relay brokerlarida Queue depth/lag; DHT hit/miss va yozuv yoshi.
- SLO bo’yicha Burn-rate (1 soat/6 soat/24 soat); biznes-KPIga ta’siri (GTV/MAU yo’qotishlari).
9) Kuzatuvchanlik va sintetik namunalar
Treysing: trace-ID orqali, OpenTelemetry orqali eksport qilish, tarmoq xoplari uchun span semantikasi.
Loglar/metriklar: strukturaviy loglar, nazorat ostidagi kardinallik, p95/p99 agregatlar.
RUM + sintetika: asosiy hududlar/provayderlardan haqiqiy foydalanuvchi metrikalari va global namunalar setkasi (har 1-5 daqiqada).
SLO-dashbordlar: tanqidiy oqimlar bo’yicha "svetoforlar", kechikish/mavjudlik xaritalari, degradatsiya to’g "risidagi hisobotlar.
10) Degradatsiya rejimlari
Read-only/cash-only: orqa tomonlarga yozuvni kesishda.
Stale-while-revalidate: eskirgan, ammo yaroqli orqa fon yangilanishi bilan keshni bering.
Feature kill-switch: beqaror qismlarning tezkor o’chirgichi.
Fan-autni cheklash: so’rovlar «yelpig’i» ni taqiqlash, chuqurligi bo’yicha fyuz.
11) Chaos-muhandislik (reja)
Tarmoq Faults: 1-5% packet-loss, 100-300 ms jitter, alohida ASN blackhole.
Relay/TURN nosozligi: N% super uzellarni o’chirish, to’g’ridan-to’g’ri ulanishlar ulushini tekshirish.
DNS/KMS degradatsiyasi: sun’iy taymautlar/xatolar, follbeklarning validatsiyasi.
Retray bo’roni: kaskadlardan himoyani tekshirish (jitter, limit, dedup).
Game-day reglamenti: gipoteza → injeksiya → metrika → yaxshilanishlar → takrorlash.
12) DR-strategiya va maqsadli ko’rsatkichlar
RPO/RTO: ushbu konfiguratsiyalar va ACL uchun - RPO ≈ 0 (sinxron snapshotlar), RTO ≤ 15 min; telemetriya uchun, masalan, RPO ≤ 5 daqiqa.
Kataloglar va kalitlar: sovuq zaxiralar, davriy muvaffaqiyatsizlikka uchragan bekaplar, «tiklanish mashqlari».
Mintaqaviy halokatlar: Anycast/Geo-DNS o’zgartirish, keshlarni isitish, navbatlarni/topiklarni replikatsiya qilish.
13) Psevdo-konfiguratsiyalar
Mijozlar taymautlari va retraylari siyosati (YAML)
yaml client:
rpc:
connect_timeout_ms: 400 request_timeout_ms: 1500 retries:
max_attempts: 2 backoff: exponential base_ms: 100 jitter: true hedging:
enabled: true threshold_ms: 800 # p95 idempotent_only: true
Circuit-breaker va ustuvorliklar
yaml resilience:
circuit_breaker:
error_rate_threshold: 0. 02 rolling_window_sec: 60 open_duration_sec: 15 priorities:
payouts: high game_events: medium telemetry: low load_shedding:
target_p99_ms: 600 drop_low_priority: true
ACL va e2e-kanallar
yaml security:
mtls: required e2e_topics: [payouts. status, limits. update]
acl:
operators: [12D3KooA..., 12D3KooB...]
providers: [12D3KooC..., 12D3KooD...]
14) Dashbordlar: maketlar
Ops (soatbay/real-taym): Connectivity%, RPC p99, error-rate, relay-share, DHT-latency, queue-lag, SLO burn-rate.
Network Health (hafta): relay-% va RTT trendlari, shovqinli ziyofatlar roʻyxati, NAT traversal muvaffaqiyati, trafik narxi.
Strategy (oy): SEV, MTTA/MTTR hodisalari, DR mashqlari, biznes metrlar bilan bog’lanish.
15) Hodisalar playbook (shpargalka)
p99 va xatolarning sakrashi: degradatsiyani (read-only, kesh-only), xedjingni yoqish, tanqidiy oqimlarga kvotalarni oshirish, «issiq» yo’l uchun chiptalarni ochish.
Relay-share> chegara: STUN/TURN pullarini almashtirish, super tugunlarni kengaytirish, hole-punchni kuchaytirish, vaqtincha TTL keshini yuklash.
Retray bo’roni: max-retriesni kamaytirish, jitterni ko’paytirish, -servis orqali global backoff-bayroqni yoqish.
DDoS L7: WAAP qoidalarini, signatura/tezlik blokini yoqing, PoW/fee-gate ommaviy mavzularda yoqing. ahamiyatsiz endpointlar.
DNS/KMS muammolari: ikkilamchi provayderlar, lokal kalit keshlari, rezolverlarni almashtirish.
Mintaqa mavjud emas: trafikning failover (Anycast/Geo-DNS), boshqa mintaqaning warming, limitlarni qayta hisoblash.
16) Joriy etish chek-varaqasi
1. SLO/SLI va egalarini oʻrnatish (oqim/topiklar boʻyicha).
2. Taymautlarni/retrajlarni/xedjingni/idempotentlikni joriy etish.
3. Circuit-breakers, bulkheads va ustuvorliklarni moslash.
4. Sintetik namunalar va global dashbordlarni ishga tushirish.
5. DR-rejani (RPO/RTO), muntazam tiklanish mashqlarini kiritish.
6. Choraklik chaos-kun va parametrlarni taftish qilish.
7. Degradatsiya rejimlari va kommunikatsiya shablonlarini hujjatlashtirish.
17) Glossariy
Bulkhead - kaskadlarning oldini olish uchun quyi tizimlarni izolyatsiya qilish.
Circuit breaker - beqaror qaramlikni avtomatik oʻchirish.
Hedging - chegaradagi kechikishdan so’ng raqobatbardosh so’rovlar.
Outbox/Inbox - xatolarni ishonchli yuklash/qabul qilish.
RPO/RTO - ma’lumotlarning yo’qolishi/tiklanish vaqti.
SLO burn-rate - SLOga nisbatan xatolar byudjetini «yoqish» tezligi.
Xulosa: tarmoq aloqalarining barqarorligi - bu «bitta fich» emas, balki intizom: muvaffaqiyatsizliklarning ortiqcha va izolyatsiyasi, savodli taymautlar va retrajlar, qat’iy ustuvorlik, kuzatuv va muntazam sinovlar. Bunday yondashuv muqarrar tarmoq nosozliklarini ekotizimning biznes oqimlariga minimal ta’sir ko’rsatadigan boshqariladigan hodisalarga aylantiradi.