Casino üçün failover, replikasiya və DR planları
1) Biznes məqsədləri: RTO/RPO və kritik flow
RTO (xidmət nə qədər vaxt mövcud ola bilər): giriş/bahis/depozit - saniyə/dəqiqə; hesabatlar - saat.
RPO (nə qədər məlumat itirilə bilər): cüzdan/əməliyyatlar - ~ 0-30 san; telemetriya - dəqiqə.
Kritik flow: giriş, depozit/çıxarış, bahis/settlement, KYC/AML-clubback, PSP/oyun provayderlərinin vebhukları.
2) Arıza müqavimətinin memarlıq nümunələri
Active-Active (multi-region): hər iki bölgə trafiki emal edir; aşağı RTO/RPO, mürəkkəb tutarlılıq.
Active-Standby: bir bölgə iş, ikinci isti; daha asan vəziyyət, RTO dəqiqə.
Cell-based: «hücrələr» üzrə təcrid (market/brand), lokal insidentlər hər şeyi vurmur.
Edge-piroq: Anycast CDN/WAF → regional şlüzlər → app-klasterlər → DB/replikasiya ilə caches.
3) Trafik menecmenti və şəbəkə feyloveri
Anycast + CDN/WAF: origin L3/4/7, health çek udmaq.
DNS Feylover (aşağı TTL, multi-value), sağlamlıq göstəricilərinə görə Trafik Meneceri/GSLB.
BGP elanları anti-DDoS provayderi vasitəsilə sürətli yol dəyişikliyi üçün.
Health-check (məntiq nümunəsi):
if p95_latency>threshold 5xx_rate>threshold synthetic_login_fail:
drain(region_A); shift(traffic->region_B, ramp=5min)
4) Məlumatlar: pul kisəsi, sifarişlər, dərəcələr
Həqiqət mənbəyi - məftillər jurnalı (ledger): yalnız append, idempotentlik 'operation _ id'.
Koordinasiya: ledger, PSP və oyun provayderləri arasında periodik reconciliation jobs.
Anti-dubl: idempotency-depozitlər/culback/ödənişlər üçün açarlar; outbox/inbox.
5) DB replikasiyası: variantlar və kompromislər
Fiziki sinxron (semi-sync): minimum RPO, gecikmə riski - nöqtəli (cüzdan) tətbiq etmək.
Asenkron: daha yüksək performans/sadəlik, RPO saniyə-dəqiqə - oyun metadata altında, referans.
Məntiqi (CDC → başqa bir bölgəyə axın): çevik seçicilik, çarpaz mühərriklər və analitika üçün əlverişlidir.
Caches (Redis/Memcached): həqiqət mənbəyi kimi deyil; replika/snapshotlar, isti startlar.
PITR: Offsite saxlama üçün davamlı jurnallar (WAL/redo), bərpa pəncərəsi ≥ 7-30 gün.
6) Uyğunluq və uyğunlaşma şablonları
Saga + Outbox: addımlar zənciri kimi biznes əməliyyatları, DB-də qeyd ilə hadisələrin atom yayımlanması.
Exactly-once «mənasına görə»: əməliyyatların idempotentliyi, balans versiyalarına nəzarət (optimistic locking).
Eventual consistency qeyri-açar flow (liderbord, analitika); pul üçün strong.
7) Komponentlər və onların feylover
API/arxa plan
Statles konteynerlər, avtoskeyl, mavi-yaşıl/canary; saxlama vasitəsilə konfiqlər (versiyalaşdırma ilə).
Növbələr/axınlar
Kvorum-klasterlər (N = 3/5), cross-AZ replika; təkrarlama və dlt-növbə siyasəti.
BD cüzdan
Region A-da praymari, A-da sinxron replika (digər AZ), asinxron - Region B-də; avtomatik promote split-brain qadağan - yalnız bir çek vərəqi ilə əl/script.
Fayllar/KUS-artefaktlar
Version ilə obyekt saxlama, xaç-regional replika/CRR, KMS-də açarlar.
WebSocket/Real-time
Açarlar (table/game/market), sticky-routing; feylover - rejoin-token ilə resubscribe.
8) Ödənişlər və oyun provayderləri: bir çox həqiqət mənbələri
PSP Feylover: hər üsul üçün ən azı 2 provayder (kart, cüzdan, kripto).
SLA/dəyəri/BIN banlistləri üzrə faiz routing; deqradasiya PSP avtomatik söndürmək.
Oyun provayderləri: ehtiyat kanallar/ASN allow-list, bölgələrə ayrı-ayrı açarlar, zaman-aut izolyasiyası.
9) Vebhuklar və kolbeklər: davamlı qəbul və oynatma
Inbox-pattern: WebHook 'u qəbul edin → İmza/NMAS yoxlayın → immutable-inbox yazın → empotent worker ilə müalicə edin.
Provayderlərin retrayları: backoff + dedup 'event _ id '/' signature'.
DR ilə: sifariş nəzarəti ilə inbox replay (txn → settlement).
10) Backup: strategiya 3-2-1 və bərpa yoxlama
3 nüsxə/2 media/1 offsayt (və 1 - kritik jurnallar üçün oflayn/WORM).
Cədvəllər: gündəlik snapshotlar + daimi jurnallar; həftəlik test-restore «qaranlıq» stend.
Bərpa kataloqları: «cüzdanı t- Δ anda necə qaldırmaq olar».
11) DR planı: rollar, ssenarilər, kommunikasiyalar
Роли: Incident Commander, Comms, DB Lead, App Lead, Payments/Game PM, SRE Oncall.
Kanallar: war-room, status-səhifə, sapport/partnyorlara/affiliatlara mesaj şablonları.
Ssenarilər (minimum):- AZ itkisi, bölgə itkisi, PSP əlçatmazlığı, DB klasterinin düşməsi, oyun provayderinin deqradasiyası, açar sızması, kütləvi 5xx.
12) DR-ssenari matrisi nümunəsi
13) Runbook və avtomatlaşdırma
«DR-cutover» düyməsi: validasiya ilə addımların ardıcıllığı (freeze writes → promote → warm caches → ramp traffic).
Bütövlüyü yoxlama skriptləri: ledger/cüzdan üzrə məbləğlərin müqayisəsi, balans ardıcıllığı.
Feature-flags: qəza zamanı sürətli disable reports/ixrac/ağır daşbord.
14) Feylover üçün müşahidə
SLO-metrlər kimi tetikləyicilər: giriş, depozit, bahis, oyun başlat.
Технические: replication-lag, WAL-shipping, queue-lag, 5xx, p95, SYN backlog, WebSocket disconnects.
Digər bölgələrdən Synthetic ssenariləri: giriş/depozit/hər dəqiqə bahis.
end-to-end izləri, 'region', 'psp', 'game _ provider' etiketləri.
15) Chaos/DR təlimləri
GameDay rüblük: AZ-ın söndürülməsi, PSP-nin deqradasiyası, DB qovşağının «itirilməsi», növbənin dayandırılması.
Retrospektiv: qərar vermə vaxtı, çatışmazlıqlar, səs-küy, dar yerlər.
Faktlara əsaslanan RTO/RPO və avtomatlaşdırma düzəlişləri.
16) Təhlükəsizlik və uyğunluq
KMS/HSM (cross-regional), rotasiya və dual-control açarları/sirləri.
Audit və əməliyyat jurnalları üçün WORM/immutability.
SLA/DR öhdəlikləri və əlaqə nöqtələri üzrə PSP/provayderlərlə DPA/müqavilələr 24 × 7.
17) Feyloverin minimum siyasətinin nümunəsi (psevdokod)
on Incident(type="REGION_DOWN"):
freeze_non_critical_writes()
promote_db(region=B)
verify_ledger_consistency()
warm_caches(region=B)
route_traffic(region=B, ramp=10%)
for step in [25%, 50%, 100%]:
if SLO_green(): ramp(step) else rollback()
announce_statuspage()
18) Hazırlıq siyahısı (prod-ready)
- Hər flow üçün RTO/RPO müəyyən; biznes tərəfindən qəbul edilmişdir.
- Multi-AZ minimum; Cüzdan, giriş və ödənişlər üçün Multi-region.
- Ledger + idempotentlik (keys) + outbox/inbox; reconciliation cədvəl üzrə.
- DB replikasiyası: yerli olaraq sync, DR-də async; PITR aktiv, bərpa təsdiqlənmişdir.
- metodu, routing siyasəti və test açarları iki PSP; oyun provayderləri - alternativlər.
- DNS/GSLB/Anycast, health-checks və sintetik, aşağı TTL.
- Runbook 've «DR-cutover düyməsi», deqradasiya üçün feature-flags.
- SLO/Alert/Trace; «DR-status» paneli.
- Rüblük DR təlimləri + retro; yenilənmiş əlaqə 24 × 7.
Xülasə
Etibarlı iGaming platforması pul konturu ətrafında qurulur: idempotentlik naqd jurnalı, proqnozlaşdırıla bilən feylover, yoxlanıla bilən replikasiya və müntəzəm DR təlimləri. Sistemi hücrələrə və bölgələrə bölün, cutover avtomatlaşdırın, iki PSP və ehtiyat oyun provayderlərini saxlayın, SLO və ledger bütövlüyünü izləyin - və hətta böyük bir qəza etimad və pul itirmədən idarə olunan bir hadisə olacaq.