Желілік байланыстардың тұрақтылығы
(Бөлім: Экожүйе және Желі)
1) Мақсаты және саласы
«Желілік байланыстардың тұрақтылығы» - бұл экожүйенің арналар, тораптар, өңірлер мен сыртқы шабуылдар істен шыққан кезде қатысушылар (операторлар, провайдерлер, студиялар, аффилиаттар, нодтар/валидаторлар, төлем және KYC-сервистер) арасындағы өзара іс-қимылдың қолжетімділігі мен болжамды сапасын сақтау қабілеті. Түйінді міндеттер: MTTR-ді барынша азайту, каскадтық істен шығуларды тежеу, бақыланатын тозу және мақсатты SLO-ға дейін жылдам қалпына келтіру.
2) Істен шығу режимдері (Threat model)
Желі: пакетоw/джиттер жоғалту, арналар жүктемесі, BGP-флап, өңіраралық үзілістер, асимметриялық бағыттау.
Көлік/сокеттер: half-open қосылыстар, head-of-line blocking (TCP), state exhaustion (NAT/conn-track).
Қолданбалы деңгей: трафик тікенектері, «ұзақ ойнайтын» сұраулар, n + 1 RPC, ретрайлардың дауылы.
Тәуелділіктер: DNS, KMS/PKI, кезектердің, TURN/relay, бөгде API деградациясы.
Қауіпсіздік: DDoS L3/L4/L7, бот-флуд, кэштің улануы, Sybil/спам әрекеттері.
Операциялық: қате фичефлагтар, лимитсіз «ыстық» релиздер, қате таймауттар.
3) Орнықтылық дизайны қағидаттары
1. Барлық қабаттар бойынша артық: жолдар, аймақтар, провайдерлер, реле-тораптар, DNS, құпия қоймалар.
2. Істен шығуды оқшаулау: cell-based сәулет, circuit-breakers, bulkheads, кросс-ұяшық шақыруларға арналған лимиттер.
3. Fail-fast және time-boxing: сыртқы қоңырауларда қысқа таймауттар, «мәңгілік күтуге» тыйым салу.
4. Іспеттілік және қауіпсіз ретра: іспеттілік кілттері, қабылдағыштағы дедуп.
5. Әдепкі бақылау: трассировка, корреляциялық ID, синтетикалық сынамалар.
6. Тозу режимдері: read-only, кэш-only, drop-features, сындарлы ағындардың басымдығы.
7. Chaos-инженерия: эксперименттің тұрақтылығын дәлелдеу.
4) Топологиялар және артық
Гибридті P2P + super-peers + DHT: «келісімшарт» топтарының ішіндегі жергілікті mesh, ретрансляторлар мен кэштер сияқты супер-тораптар, іздеуге арналған DHT.
Anycast/Geo-DNS/SD-WAN: жақын кіру, басқарылатын ағындар, health-based routing.
Мульти-релейлер (TURN/HTTP3-tunnels): тәуелсіз жеткізушілер, қажет болған жағдайда ғана relay бюджеті.
Active-Active аймақтары: демпотенттік оқулар/оқиғалар үшін синхронды; ақша операциялары үшін - түпкілікті келісу + қатаң қаржыландыру.
5) Хаттамалар, таймауттар және ретрациялар
Көлік: QUIC/HTTP3 (HoL-blocking жоқ мультиплексиялау, жол көші-қоны), TCP - fallback сияқты.
Таймингтер (бағдарлар):- RPC client timeout: p99_latency×1. 5 (бірақ өңіраралық 2-3 с ≤).
- Connect timeout: 200-500 мс жергілікті, 700-1200 мс өңіраралық.
- Backoff: экспоненциалды джиттермен; max-retries 2-3 «оқитын» шақырулар үшін.
- Хеджинг (hedged requests): p95 кешіктірілгеннен кейін екінші орындаушыны жіберу (тек демпотенттік операциялар).
- Теңсіздік: 'x-idempotency-key' тақырыбы/өрісі, dedup-журналдарды ≥ TTL ретрайлерді сақтау.
- Кезектер мен outbox: оқиғаларды кепілдендірілген түрде жеткізу, желі істен шыққан кезде қайталау, консумерлердегі дедуп.
6) Жүктемені басқару және «өзін-өзі қорғау»
Rate-limits және квоталар: leaky-bucket/token-bucket RPC/топик.
Adaptive load-shedding: жасырындылықтың өсуі кезінде төмен басымдықты сұрауларды қалпына келтіру.
Басымдықтары: ақша/төлемдер> ойын оқиғалары> телеметрия.
Backpressure: динамикалық терезе, параллелизмді шектеу, пирлердің «кредиттік лимиттері».
Connection pooling: жылы пулдар, ашық сокеттерге лимиттер/NAT-күйі.
7) DDoS және арна қауіпсіздігі
L3/L4: upstream scrubbing/Anycast, conn-track защита, SYN-cookies, UDP-rate.
L7: WAF/WAAP, ашық тақырыптар үшін proof-of-work/fee-gate, капчалар/спамға қарсы әмиян кепілдіктері.
mTLS/TLS 1. 3 + E2E: «жолда» шифрлау, супертораптар кілттерінің пиннингі, сертификаттарды ротациялау.
Анти-Sybil: сенімді peer-ID тізілімі, беделі, әсер рөлдері үшін KYB/KYC.
Секьюрлік дефолттар: «рұқсат етілмесе тыйым салынады», топиктер бойынша ACL, құқықтарды азайту.
8) SLO, SLI және орнықтылық метрикасы
SLO (мысал):- Критикалық эндпоинттердің uptime ≥ 99. 95 %/30д.
- p99 latency өңіраралық ≤ 600 мс; 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 мин; MTTA ≤ 5 мин.
- Connectivity% (пирлерге қол жеткізу), тікелей қосылыстардың үлесі, көршілердің орташа саны.
- RTT/Jitter/Loss трафик кластары бойынша; RPC success/failure taxonomy.
- Queue depth/lag брокерлерде/relay; DHT hit/miss және жазбалардың жасы.
- SLO бойынша Burn-rate (1 сағ/6 сағ/24 сағ); бизнес-KPI әсері (GTV/MAU шығындары).
9) Бақылау және синтетикалық сынамалар
Трейсинг: өтпелі trace-ID, OpenTelemetry арқылы экспорт, желілік хоптарға арналған спан семантикасы.
Логи/метриктер: құрылымдық логтар, бақылаудағы кардиналдылық, p95/p99 агрегаттар.
RUM + синтетика: негізгі өңірлерден/провайдерлерден нақты пайдаланушы өлшемдері және жаһандық сынамалар торы (әрбір 1-5 минут).
SLO-дашбордтар: сыни ағындар бойынша «бағдаршамдар», кідіріс/бар болу карталары, тозу туралы есептер.
10) Тозу режимдері
Read-only/кэш-only: жазбаны бэкендтерге кескен кезде.
Stale-while-revalidate: ескірген, бірақ жарамды өңдік жаңарту кэшін береміз.
Feature kill-switch: тұрақсыз бөліктердің жылдам ажыратқышы.
Фан-аутты лимиттеу: сұрау салулардың «вееріне» тыйым салу, тереңдігі бойынша фьюз.
11) Chaos-инженерия (жоспар)
Желілік Faults: 1-5% packet-loss, 100-300 мс джиттер, жеке ASN blackhole.
Relay/TURN істен шығуы: супер-тораптардың N% өшіру, тікелей қосылыстардың үлесін тексеру.
DNS/KMS деградациясы: жасанды таймауттар/қателер, фоллбектердің валидациясы.
Ретрайлардың дауылы: каскадтардан қорғануды тексеру (джиттер, лимиттер, дедуп).
Game-day регламент: гипотеза → инжекция → метрика → жақсарту → қайталау.
12) DR-стратегия және нысаналы көрсеткіштер
RPO/RTO: осы конфигурациялар және ACL үшін - RPO ≈ 0 (синхронды снапшоттар), RTO ≤ 15 мин; телеметрия үшін RPO ≤ 5 мин.
Каталогтар мен кілттер: суық резервтер, кезеңдік сәтсіз бэкаптар, «қалпына келтіру жаттығулары».
Аймақтық апаттар: Anycast/Geo-DNS қайта қосу, кэштерді жылыту, кезектерді/топиктерді репликалау.
13) Жалған конфигурация
Клиенттік таймауттар мен ретрайлер саясаты (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 және басымдықтар
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 және e2e арналары
yaml security:
mtls: required e2e_topics: [payouts. status, limits. update]
acl:
operators: [12D3KooA..., 12D3KooB...]
providers: [12D3KooC..., 12D3KooD...]
14) Дашбордтар: макеттер
Ops (сағаттық/нақты-уақыт): Connectivity%, RPC p99, error-rate, relay-share, DHT-latency, queue-lag, SLO burn-rate.
Network Health (апта): relay-% және RTT трендтері, «шулы» пирлердің тізімдері, NAT traversal табыстылығы, трафик құны.
Strategy (ай): SEV, MTTA/MTTR, DR-жаттығулар, бизнес-өлшемдермен корреляция.
15) Playbook инциденттер (шпаргалка)
p99 секіру және қателер: деградацияны (read-only, кэш-only), хеджингті қосыңыз, критикалық ағындарға квоталарды ұлғайтыңыз, «ыстық» жолға тикеттер ашыңыз.
Relay-share> табалдырығы: STUN/TURN пулдарын ауыстырып қосу, супер түйіндерді кеңейту, hole-punch күшейту, уақытша TTL кэшін көтеру.
Дауыл ретрайлары: max-retries төмендету, джиттерді ұлғайту, -сервис арқылы жаһандық backoff-жалауын қосу.
DDoS L7: WAAP ережелерін, белгі/жылдамдық блогын қосыңыз, PoW/fee-gate қоғамдық тақырыптарда қосыңыз, өшіріңіз. маңызды емес эндпоинттер.
DNS/KMS проблемалары: қайталама провайдерлерді, жергілікті кілт кэштерін іске қосу, резолверлерді ауыстыру.
Аймақ қол жетімді емес: трафиктің failover (Anycast/Geo-DNS), басқа аймақтың warming, лимиттерді қайта есептеу.
16) Енгізу чек-парағы
1. SLO/SLI және иелерін бекіту (ағындар/топиктер бойынша).
2. Таймауттарды/ретраларды/хеджингті/іспеттілікті енгізу.
3. circuit-breakers, bulkheads және басымдықтарды баптау.
4. Синтетикалық сынамалар мен жаһандық дашбордтарды іске қосу.
5. DR-жоспарын (RPO/RTO), тұрақты қалпына келтіру жаттығуларын енгізу.
6. Тоқсандық chaos күнін және параметрлерді тексеру.
7. Деградациялық режимдер мен коммуникация үлгілерін құжаттау.
17) Глоссарий
Bulkhead - каскадтардың алдын алу үшін кіші жүйелерді оқшаулау.
Circuit breaker - тұрақсыз тәуелділікті автоматты түрде ажырату.
Hedging - шекті кідірістен кейін бәсекелестік сұраулар.
Outbox/Inbox - републикацияланған оқиғаларды сенімді жіберу/қабылдау.
RPO/RTO - деректердің рұқсат етілген жоғалуы/қалпына келтіру уақыты.
SLO burn-rate - SLO-ға қатысты қателердің бюджетін «жағу» жылдамдығы.
Қорытынды: желілік байланыстардың тұрақтылығы - бұл «бір фаза» емес, тәртіп: істен шығулардың артық болуы және оқшаулануы, сауатты таймауттар мен ретрайлер, қатаң басымдылықтар, бақылаушылық және тұрақты сынақтар. Мұндай тәсіл болмай қоймайтын желілік іркілістерді экожүйенің бизнес-ағындарына ең аз әсер ететін басқарылатын оқиғаларға айналдырады.