ქსელის სტაბილურობა
(განყოფილება: ეკოსისტემა და ქსელი)
1) მიზანი და რეგიონი
„ქსელის კავშირების სტაბილურობა“ არის ეკოსისტემის უნარი, შეინარჩუნოს მონაწილეთა შორის ურთიერთქმედების ხელმისაწვდომობა და პროგნოზირებადი ხარისხი (ოპერატორები, პროვაიდერები, სტუდიები, აფილიტები, ნოდები/მოვალეობები, გადახდა და KYC სერვისები) არხების, კვანძების, რეგიონების და გარე შეტევების დროს. ძირითადი ამოცანები: MTTR- ის შემცირება, კასკადის უკმარისობის შეკავება, კონტროლირებადი დეგრადაცია და სწრაფი აღდგენა მიზნობრივ SLO- ში.
2) გაუქმებული რეჟიმები
ქსელი: პაკეტის დაკარგვა/ჯიტერი, არხების გადატვირთვა, BGP flop, ინტერრეგიონალური შესვენებები, ასიმეტრიული მარშრუტიზაცია.
ტრანსპორტი/სოკეტები: ჰალფ-ღია კავშირი, head-of-line ბლოკირება (TCP), სახელმწიფო ექსპორტი (NAT/conn-track).
გამოყენებითი დონე: ტრეფიკის ხერხემლები, „გრძელი თამაში“ მოთხოვნები, n + 1 RPC, ქარიშხალი.
დამოკიდებულება: DNS, KMS/PKI დეგრადაცია, რიგები, TURN/relay, მესამე მხარის API.
უსაფრთხოება: L3/L4/L7 DDoS, bot flood, ქეში მოწამვლა, Sybil/spam- ის მცდელობები.
ოპერაცია: არასწორი ficheflages, „ცხელი“ გამოშვებები ლიმიტების გარეშე, არასწორი ტაიმაუტები.
3) სტაბილურობის დიზაინის პრინციპები
1. ჭარბი რაოდენობა ყველა ფენაში: ბილიკები, რეგიონები, პროვაიდერები, სარელეო კვანძები, DNS, საიდუმლო საცავები.
2. უარის თქმის იზოლაცია: დახურული არქიტექტურა, ცირკის ყუთები, ბულხები, ჯაჭვის ზარების შეზღუდვები.
3. Fail-fast და time-boxing: მოკლე ტაიმაუტები გარე გამოწვევებზე, აკრძალვა „სამუდამოდ ლოდინის“.
4. Idempotence და უსაფრთხო ჭრილობები: idempotent- ის გასაღებები, მიმღები ბაბუა.
5. ნაგულისხმევი დაკვირვება: კვალი, კორელაციის ID, სინთეზური ნიმუშები.
6. დეგრადაციის რეჟიმები: read-only, cash-only, drop-features, კრიტიკული ნაკადების პრიორიტეტი.
7. Chaos ინჟინერია: ექსპერიმენტის სტაბილურობის მტკიცებულება.
4) ტოპოლოგია და გადაჭარბება
ჰიბრიდული P2P + super-peers + DHT: ადგილობრივი მესა „კონტრაქტის“ ჯგუფების შიგნით, სუპერ კვანძები, როგორც გამეორება და ქეში, DHT ძებნა.
Anycast/Geo-DNS/SD-WAN: უახლოესი შესასვლელი, კონტროლირებადი ნაკადები, მძიმე ნაკადები.
მულტიმედია (TURN/HTTP3-tunnels): დამოუკიდებელი მომწოდებლები, რელის ბიუჯეტი მხოლოდ საჭიროების შემთხვევაში.
აქტიური რეგიონები: სინქრონული იდემპოტენტური კითხვებისთვის/მოვლენებისთვის; ფულადი ოპერაციებისთვის - საბოლოო კოორდინაცია + მკაცრი დასრულება.
5) ოქმები, ტაიმაუტები და რეტრაები
ტრანსპორტი: QUIC/HTTP3 (მულტიპლექსირება HoL-blocking- ის გარეშე, ბილიკის მიგრაცია), TCP - როგორც fallback.
ტაიმინგი (სახელმძღვანელო):- RPC client timeout: p99_latency×1. 5 (მაგრამ 2-3 რეგიონალურ).
- Connect timeout: 200-500 ms ადგილობრივად, 700-1200 ms ინტერრეგიონალურად.
- Backoff: ექსპონენციალური ჯიტერთან; max-retries 2-3 „მკითხველი“ გამოწვევებისთვის.
- Hedged Requests: p95 შეფერხების შემდეგ, გაგზავნეთ მეორე შემსრულებელი (მხოლოდ idempotent ოპერაციები).
- Idempotence: სათაური/ველი 'x-idempotency-key ", dedup ჟურნალების შენახვა - TTL Retrais.
- რიგები და გარეთ: ღონისძიებების გარანტირებული მიტანა, ქსელის გაუმართაობის განმეორება, დედობა კონსიუმებზე.
6) ტვირთის მართვა და თავდაცვა
Rate-limits და კვოტები: leaky-bucket/token-bucket RPC/ტოპიკებზე.
Adaptive load-shedding: დაბალი პრიორიტეტული მოთხოვნების შემცირება ლატენტობის ზრდით.
პრიორიტეტები: ფული/გადახდა> თამაშის მოვლენები> ტელემეტრია.
Backpressure: დინამიური ფანჯარა, პარალელიზმის შეზღუდვები, დღესასწაულების „საკრედიტო ლიმიტები“.
კავშირი აუზი: თბილი აუზები, ღია სოკეტების ლიმიტები/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: დაშიფვრა „გზაზე“, სუპერ კვანძების გასაღებების პინგი, სერთიფიკატების როტაცია.
Anti-Sybil: სანდო peer-ID რეესტრი, რეპუტაცია, KYB/KYC გავლენის მოხდენისთვის.
Secural ნაგულისხმევი: „აკრძალულია, თუ არ ნებადართულია“, ACL ტოპიკის მიხედვით, უფლებების შემცირება.
8) SLO, SLI და სტაბილურობის მეტრიკა
SLO (მაგალითი):- კრიტიკული endpoints Uptime 99. 95 %/30d.
- p99 ლატვია ინტერრეგიონალური 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 წთ; MTTA - 5 მმ.
- კავშირი% (პირას მიღწევა), პირდაპირი კავშირების წილი, მეზობლების საშუალო რაოდენობა.
- RTT/Jitter/Loss ტრაფიკის კლასებში; RPC success/failure taxonomy.
- Queue depth/lag ბროკერებში/relay; DHT hit/miss და ჩანაწერების ასაკი.
- Burn-rate SLO (1.ch/6h/24ch); გავლენა ბიზნეს KPI- ზე (ზარალი GTV/MAU).
9) დაკვირვება და სინთეზური ნიმუშები
ტრეისი: Trace-ID- ის გავლით, ექსპორტი OpenTelemetry- ით, სპანების სემანტიკა ქსელის ჰოპებისთვის.
ლოგები/მეტრიკა: სტრუქტურული ლოგოები, კონტროლირებადი კარდინალობა, p95/p99 დანაყოფები.
RUM + სინთეზური: რეალური მომხმარებლის მეტრიკა და გლობალური ნიმუშების ბადე (ყოველ 1-5 წუთში) ძირითადი რეგიონებიდან/პროვაიდერებიდან.
SLO დაშბორდები: კრიტიკული ნაკადების „შუქნიშანი“, შეფერხებების/ხელმისაწვდომობის ბარათები, მოხსენებები დეგრადაციის შესახებ.
10) დეგრადაციის რეჟიმები
Read-only/cash-only: ჩანაწერების დახურვის დროს.
Stale-while-revalidate: ჩვენ ვაძლევთ მოძველებულ, მაგრამ შესაფერისი ქეში ფონის განახლებით.
Feature kill-switch: არასტაბილური ნაწილების სწრაფი კონცენტრატორი.
გულშემატკივართა შეზღუდვა: აკრძალვა მოთხოვნის „გულშემატკივართა“ შესახებ, სიღრმეზე ფუზი.
11) Chaos ინჟინერია (გეგმა)
ქსელის Faults: 1-5% packet-loss, 100-300 ms jitter, blackhole ცალკეული ASN.
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 (საათობრივი/რეალის დრო): კავშირი%, RPC p99, error-rate, relay-share, DHT-latence, queue-lag, SLO burn-rate.
Network Health (კვირა): relay-% და RTT ტენდენციები, „ხმაურიანი“ დღესასწაულების სიები, NAT traversal- ის წარმატება, ტრაფიკის ღირებულება.
სტრატეგია (თვე): ინციდენტები SEV, MTTA/MTTR, DR ტრენინგი, კორელაცია ბიზნეს მეტრებთან.
15) Playbook ინციდენტები (ყალბი ფურცელი)
P99 ნახტომი და შეცდომები: ჩართეთ დეგრადაცია (read-only, ქეში-მხოლოდ), ჰეჯინგი, გაზარდოს კვოტები კრიტიკულ ნაკადებზე, გახსნათ თიკეტები „ცხელ“ გზაზე.
Relay-share> ბარიერი: გადართეთ STUN/TURN აუზები, გააფართოვეთ სუპერ კვანძები, გააძლიერეთ hole-punch, დროებით აამაღლეთ TTL ქეში.
ჭიდაობის ქარიშხალი: შეამციროს მაქს-რეტრიები, გაზარდოს ჯიტერი, კონფისკაციის სერვისის საშუალებით ჩართოთ გლობალური backoff დროშა.
DDoS L7: ჩართეთ WAAP წესები, ხელმოწერის/სიჩქარის ბლოკი, ჩართეთ PoW/fee-gate საზოგადოებრივ თემებზე, გამოთვლა. უმნიშვნელო ენდოინები.
DNS/KMS- ის პრობლემები: გამოიყენეთ მეორადი პროვაიდერები, ადგილობრივი გასაღების ქეში, გადართეთ რეზერვუარები.
რეგიონი მიუწვდომელია: სწრაფი ტრაფიკი (Anycast/Geo-DNS), სხვა რეგიონის warming, ლიმიტების დათვლა.
16) განხორციელების შემოწმების სია
1. ჩაწერეთ SLO/SLI და მფლობელები (ნაკადები/ტოპიკები).
2. შემოიღეთ ტაიმაუტები/რეტრაი/ჰეჯინგი/იდემპოტენტობა.
3. კონფიგურაცია circuit-breakers, bulkheads და პრიორიტეტები.
4. დაიწყეთ სინთეზური ნიმუშები და გლობალური დაშბორდები.
5. შემოიღეთ DR გეგმა (RPO/RTO), რეგულარული აღდგენის ტრენინგი.
6. გაატარეთ კვარტალური ქაოსის დღე და პარამეტრების გადასინჯვა.
7. დეგრადაციური რეჟიმების და კომუნიკაციების შაბლონების დოკუმენტირება.
17) გლოსარიუმი
Bulkhead - ქვესისტემების იზოლაცია კასკადების თავიდან ასაცილებლად.
Circuit breaker - არასტაბილური დამოკიდებულების ავტომატური გათიშვა.
Hedging - კონკურენტული მოთხოვნები ბარიერი შეფერხების შემდეგ.
Outbox/Inbox არის საიმედო გაგზავნა/მიღება მოვლენების დედუპლიკაციით.
RPO/RTO - მონაცემთა დასაშვები დაკარგვა/აღდგენის დრო.
SLO burn-rate - შეცდომის ბიუჯეტის „დაწვის“ სიჩქარე SLO- სთან შედარებით.
შედეგი: ქსელური კავშირების სტაბილურობა არ არის „ერთი ფიგურა“, არამედ დისციპლინა: უარის თქმის გადაჭარბება და იზოლაცია, კომპეტენტური ტაიმაუტები და რეპრესიები, მკაცრი პრიორიტეტი, დაკვირვება და რეგულარული ტესტები. ეს მიდგომა გარდაუვალ ქსელურ გაუმართაობას აქცევს კონტროლირებად მოვლენებად, მინიმალური გავლენით ეკოსისტემის ბიზნეს ნაკადებზე.