Ağ bağlantı esnekliği
(Bölüm: Ekosistem ve Ağ)
1) Amaç ve alan
"Ağ esnekliği", kanallar, düğümler, bölgeler ve harici saldırılar başarısız olduğunda ekosistemin katılımcılar (operatörler, sağlayıcılar, stüdyolar, bağlı kuruluşlar, düğümler/doğrulayıcılar, ödeme ve KYC hizmetleri) arasındaki etkileşimlerin erişilebilirliğini ve öngörülebilir kalitesini koruma yeteneğidir. Temel hedefler, kademeli arızalar, kontrollü bozulma ve hedef SLO'lara hızlı geri kazanım içeren MTTR'yi en aza indirmektir.
2) Tehdit modeli
Ağ: paket kaybı/titreme, bağlantı tıkanıklığı, BGP flebi, bölgeler arası kopmalar, asimetrik yönlendirme.
Taşıma/soketler: yarı açık bağlantılar, hat başı engelleme (TCP), durum tükenmesi (NAT/conn-track).
Uygulama katmanı: trafik sivri uçları, "uzun oynatma" istekleri, n + 1 RPC, yeniden oynatma fırtınası.
Bağımlılıklar: DNS'nin bozulması, KMS/PKI, kuyruklar, TURN/röle, üçüncü taraf API'leri.
Güvenlik: DDoS L3/L4/L7, bot taşması, önbellek zehirlenmesi, Sybil/spam girişimleri.
İşletim sistemi: yanlış özellik bayrakları, sınırsız "sıcak" sürümler, yanlış zaman aşımları.
3) Sürdürülebilirlik tasarım ilkeleri
1. Tüm katmanlarda artıklık: yollar, bölgeler, sağlayıcılar, röle düğümleri, DNS, gizli depolar.
2. Hata yalıtımı: hücre tabanlı mimari, devre kesiciler, bölmeler, hücreler arası aramaların sınırları.
3. Başarısızlık-hızlı ve zaman-boks: dış aramalar için kısa süreler, yasak "sonsuza kadar bekleyin".
4. Idempotence ve güvenli geri çekilmeler: idempotence tuşları, alıcıda deadup.
5. Varsayılan gözlemlenebilirlik: izler, korelasyon kimlikleri, sentetik örnekler.
6. Bozma modları: salt okunur, yalnızca önbellek, bırakma özellikleri, kritik iş parçacıklarının önceliği.
7. Kaos mühendisliği: Deney ile istikrarın kanıtı.
4) Topolojiler ve artıklık
Hibrit P2P + süper eşler + DHT: "sözleşme" grupları içinde yerel ağ, tekrarlayıcı ve önbellek olarak süper düğümler, arama için DHT.
Anycast/Geo-DNS/SD-WAN: yakın giriş, kontrollü akışlar, sağlık tabanlı yönlendirme.
Çoklu röle (TURN/HTTP3-tunnels): bağımsız tedarikçiler, yalnızca gerektiğinde röle bütçesi.
Aktif-Aktif bölgeler: idempotent okumalar/olaylar için senkronize; Parasal işlemler için - son tutarlılık + kesin kesinleştirme.
5) Protokoller, zaman aşımları ve geri çekilmeler
Taşıma: QUIC/HTTP3 (HoL engelleme, yol geçişi olmadan çoğullama), TCP - geri dönüş olarak.
Zamanlamalar (yer işaretleri):- RPC istemci zaman aşımı: p99_latency×1. 5 (ancak bölgeler arası ≤ 2-3 s).
- Bağlantı zaman aşımı: Yerel olarak 200-500 ms, bölgesel olarak 700-1200 ms.
- Backoff: jitter ile üstel; Max, "okuma" çağrıları için 2-3'ü yeniden dener.
- Hedged requests: p95 gecikmesinden sonra ikinci bir yürütücü gönderin (sadece idempotent işlemleri).
- Idempotency: başlık/alan 'x-idempotency-key', dedup günlüklerinin depolanması ≥ TTL retrays.
- Kuyruklar ve giden kutusu: olayların garantili teslimatı, ağ arızaları durumunda tekrarlama, konsollarda dedup.
6) Yük yönetimi ve "kendini koruma"
Rate-limits ve kotalar: RPC/topic üzerinde leaky-bucket/token-bucket.
Uyarlanabilir yük aktarma - gecikme süresi arttığında düşük öncelikli istekleri sıfırlar.
Öncelikler: para/ödemeler> oyun etkinlikleri> telemetri.
Geri baskı: dinamik pencere, eşzamanlılık kısıtlamaları, akranların "kredi limitleri".
Bağlantı havuzu: sıcak havuzlar, açık soketler/NAT durumları sınırları.
7) DDoS ve kanal güvenliği
L3/L4: upstream scrubbing/Anycast, conn-track защита, SYN-cookies, UDP-rate.
L7: WAF/WAAP, açık konular için iş kanıtı/ücret kapısı, spam'e karşı captcha/cüzdan taahhütleri.
mTLS/TLS 1. 3 + E2E: şifreleme "hareket halindeyken", süper düğüm anahtarlarının sabitlenmesi, sertifikaların döndürülmesi.
Anti-Sybil: rolleri etkilemek için güvenilir akran kimliği kaydı, itibar, KYB/KYC.
Güvenlik varsayılanları: "izin verilmezse yasaklanır", konuya göre ACL, hakları en aza indirir.
8) SLO, SLI ve esneklik metrikleri
SLO (örnek):- Kritik bitiş noktalarının çalışma süresi ≥ 99. %95/30d
- Bölgeler arası p99 gecikme süresi ≤ 600 ms; Hata oranı ≤ 0. 2%.
- Başarı oranı P2P-RPC ≥ 99. 5%; Pub/Sub E2E p95 ≤ 2 с.
- Röle paylaşımı ≤ %30; DHT çözümü p95 ≤ 300 мс.
- MTTR SEV-1 ≤ 30 dk; MTTA ≤ 5 dk.
- Bağlantı %, doğrudan bağlantıların oranı, ortalama komşu sayısı.
- RTT/Jitter/Trafik sınıfına göre kayıp; RPC başarı/başarısızlık taksonomisi.
- Brokerlerde/rölede kuyruk derinliği/gecikmesi; DHT hit/miss ve kayıt yaşı.
- SLO ile yanma oranı (1h/6h/24h); İş KPI'ları üzerindeki etkisi (GTV/MAU kayıpları).
9) Gözlemlenebilirlik ve sentetik örnekler
İzleme: uçtan uca izleme kimlikleri, OpenTelemetry ile dışa aktarma, ağ şerbetçiotu için açıklıkların semantiği.
Günlükler/metrikler: yapısal günlükler, kontrol altında kardinalite, p95/p99 agregalar.
RUM + sentetikleri: gerçek kullanıcı metrikleri ve anahtar bölgelerden/sağlayıcılardan küresel örnek ızgarası (her 1-5 dakikada bir).
SLO panoları: kritik akışlar için "trafik ışıkları", gecikme/kullanılabilirlik haritaları, bozulma raporları.
10) Bozulma modları
Salt okunur/yalnızca önbellek: bir kaydı arka uçlara kırparken.
Bayat-while-revalidate: Bir arka plan güncellemesi ile eski ama iyi bir önbellek veriyoruz.
Özellik kill-switch: kararsız parçaların hızlı anahtarı.
Fan çıkışının sınırlandırılması: "fan" isteklerinin yasaklanması, derinlemesine füzyon.
11) Kaos-mühendislik (plan)
Ağ Hataları: %1-5 paket kaybı, 100-300 ms jitter, bireysel ASN'lerin kara deliği.
Röle/TURN hatası: Süper düğümlerin N %'sini kapatma, doğrudan bağlantıların oranını kontrol etme.
DNS/KMS bozulması: yapay zaman aşımları/hatalar, geri dönüşlerin doğrulanması.
Retray fırtına: kaskadlara karşı koruma kontrolü (jitter, limitler, deadup).
Oyun günü kuralları: hipotez - enjeksiyon - metrikler - iyileştirme - tekrarlama.
12) DR stratejisi ve hedefleri
RPO/RTO: bu yapılandırmalar için ve ACL - RPO ≈ 0 (eşzamanlı anlık görüntüler), RTO ≤ 15 dk; Telemetri için, RPO'ya ≤ 5 dakikada bir izin verilir.
Kataloglar ve anahtarlar: soğuk rezervler, periyodik başarısız yedeklemeler, "kurtarma eğitimi".
Bölgesel felaketler: Anycast/Geo-DNS anahtarlama, önbellek ısınma, kuyruk/konu çoğaltma.
13) Sözde yapılandırmalar
Müşteri Zaman Aşımı ve Geri Çekilme Politikası (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
Devre kesici ve öncelikler
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 ve e2e kanalları
yaml security:
mtls: required e2e_topics: [payouts. status, limits. update]
acl:
operators: [12D3KooA..., 12D3KooB...]
providers: [12D3KooC..., 12D3KooD...]
14) Gösterge Panoları: düzenler
Ops (saatlik/gerçek zamanlı): Bağlantı %, RPC p99, hata oranı, röle paylaşımı, DHT gecikmesi, kuyruk gecikmesi, SLO yanma oranı.
Ağ Sağlığı (hafta): relay- % ve RTT eğilimleri, "gürültülü" akranlar listesi, NAT geçiş başarısı, trafik maliyeti.
Strateji (ay): SEV, MTTA/MTTR, DR eğitim olayları, iş metrikleri ile korelasyon.
15) Playbook olayları (hile sayfası)
Atlama p99 ve hatalar: bozulmayı (salt okunur, yalnızca önbellek), riskten korunmayı, kritik akışlar için kotaları artırmayı, "sıcak" yolda açık biletleri etkinleştirin.
Röle paylaşımı> eşik: STUN/TURN havuzlarını değiştirin, süper düğümleri genişletin, delik delmeyi güçlendirin, geçici olarak TTL önbelleklerini yükseltin.
Retray storm: Maksimum yeniden denemeleri azaltın, titremeyi artırın, yapılandırma hizmeti aracılığıyla global backoff bayrağını açın.
DDoS L7: WAAP kurallarını, imza/hız bloğunu etkinleştirin, herkese açık konularda PoW/fee-gate'i etkinleştirin. zorunlu olmayan bitiş noktaları.
DNS/KMS sorunları: ikincil sağlayıcıları, yerel anahtar önbelleklerini, anahtar çözümleyicilerini kullanın.
Kullanılamayan bölge: yük devretme trafiği (Anycast/Geo-DNS), başka bir bölgenin ısınması, sınırların yeniden hesaplanması.
16) Uygulama kontrol listesi
1. SLO/SLI ve sahiplerini (akışlara/konulara göre) kaydedin.
2. Zaman aşımı/geri ödeme/riskten korunma/idempotency uygulayın.
3. Devre kesicileri, bölmeleri ve öncelikleri yapılandırın.
4. Sentetik örnekleri ve küresel panoları çalıştırın.
5. DR planı (RPO/RTO), düzenli kurtarma eğitimi girin.
6. Üç aylık bir kaos günü ve parametrelerin gözden geçirilmesi.
7. Belge bozulması modları ve iletişim modelleri.
17) Sözlük
Bulkhead - basamakları önlemek için alt sistemlerin izolasyonu.
Devre kesici - otomatik olarak kararsız bir bağımlılığı devre dışı bırakır.
Hedging - bir eşik gecikmesinden sonra rekabetçi talepler.
Giden Kutusu/Gelen Kutusu - veri tekilleştirme ile olayların güvenilir bir şekilde gönderilmesi/alınması.
RPO/RTO - izin verilen veri kaybı/kurtarma süresi.
SLO yakma oranı - SLO'ya göre hata bütçesini "yakma" oranı.
Alt satır: Ağ bağlantılarının kararlılığı'tek bir özellik'değil, bir disiplindir: arızaların fazlalığı ve izolasyonu, yetkili zaman aşımları ve geri çekilmeler, sıkı önceliklendirme, gözlemlenebilirlik ve düzenli testler. Bu yaklaşım, kaçınılmaz ağ arızalarını, ekosistem iş akışları üzerinde minimum etkiye sahip yönetilen olaylara dönüştürür.