IGaming-də failover və ehtiyat necə işləyir
Niyə iGaming DR/BCP xüsusi intizam
Casino platforması real vaxt pulu (cüzdan/ledger), canlı raundlar (RNG/Live), ödənişlər, affiliatlar və ciddi komplayensdir. Hər hansı bir «dəlik» tez bir zamanda maliyyə və hüquqi risklərə çevrilir. Buna görə də memarlıq proqnozlaşdırıla bilən bərpa ətrafında qurulur: məlum məqsədlər, məlum ssenarilər, məşq edilmiş prosedurlar.
Əsas məqsədlər və şərtlər
RTO (Recovery Time Objective): xidmətin bərpası vaxtı.
cüzdan/ledger üçün: ≤ 60-300 san (regiondaxili feylover), ≤ 15 dəq (regionlararası DR).
RPO (Recovery Point Objective): icazə verilən məlumat itkisi.
Ledger üçün: 0-5 san (sinxron/kvazisinxron replikasiya), hesabat üçün: ≤ 15 dəq.
SLA və Error Budget: dəyişiklik sürəti və sabitlik arasında kompromisləri rəsmiləşdirir.
Qüsursuzluq qatları
1) Infrastruktur: Multi-AZ/Multi-Region
Multi-AZ (ən azı 3 zona): bütün kritik xidmətlər zonalar üzrə paylanır, avtomatik feylover DD/şinlər.
Multi-Region DR: «isti» (Active-Active) və ya «isti» (Active-Passive) yurisdiksiyalara görə təcrid olunmuş ikinci bölgədir (data residency).
Hansı rejimdə həll:- Active-Active: iki bölgədə oyunçulara aşağı gizlilik, hadisələrin sinxronizasiyası vasitəsilə cross-region legger + hesablamalar üçün ciddi vahid «həqiqət yeri».
- Active-Passive (warm): daha asan və daha ucuz; passiv isti instansiyaları saxlayır + DB replikaları, lakin trafik xidmət etmir.
2) Şəbəkə və perimetr
Sağlamlıq yoxlamaları ilə dublyaj ingress/WAF, Anycast və ya DNS Feylover.
Kassa və provayderlər üçün ayrıca egress şlyuzları, hər iki bölgədə icazə verilən IP siyahıları.
3) Verilənlər və növbələr
Relyasion DD (Postgres): Patroni/Managed HA, AZ-da sinxron replikalar, DR-regionda asinxron replika (lag monitorinqi ilə). Hər N dəqiqə snapshot ilə PITR + WAL arxivi.
OLAP (ClickHouse/BigQuery): replikasiya/şardlaşdırma; daha yüksək (RPO 15-30 dəq qədər).
Cache (Redis): failover ilə klaster, lakin həqiqət mənbəyi deyil; keçid - isti istilik.
Hadisə şini (Kafka/NATS): güzgü klasterləri və/və ya cross-cluster-mirroring, «at-least-once» zəmanəti, istehlakçılarda idempotentliyə nəzarət.
4) Proqramlar və domenlər
Cüzdan/ledger: stateful-nüvəsi, bölgəyə bir «master-rayter»; bölgələrarası DR - ikili yazının bloklanması ilə «elected writer» proseduru.
Oyun bridge/API: sağlamlıq çekləri üzrə stateless, üfüqi feylover; idempotencyKey bütün maliyyə yolları üçün.
Bonuslar/bildirişlər/ETL: gecikmiş emala icazə verilir, növbələrdən yenidən başlayır.
Kassa (PSP/Kriptovalyutası): multiprovayder strategiya (ölkəyə minimum 2 rels), merchant/end-point sürətli keçid.
5) Canlı axınlar
WebRTC/LL-HLS regional edge qovşaqları ilə gateway; WebRTC deqradasiyasında LL-HLS fallback marşrutları.
Axını yenidən başlamaq üçün bahis məntiqini oyunçudan kənarda saxlamaq hesablamaya təsir göstərmir.
Failover nümunələri
Aktiv-aktiv (iki region)
Üstünlüklər: minimum RTO/RPO, oyunçulara yaxınlıq.
Mənfi cəhətləri: ledger çətinliyi və qeyd münaqişələri, bahalı grid.
Practice: «Domain One Writer» + qonşu bölgədə halları oynamaq üçün hadisə qaynağı.
Aktiv-passiv (isti)
Üstünlüklər: qiymət/mürəkkəblik balansı.
Mənfi cəhətləri: RTO yuxarıda, passiv bölgənin «təşviqi» üçün hazırlanmış bir plan lazımdır.
Təcrübə: cüzdan keçid avtomatlaşdırma + əl təsdiq (4-göz prinsipi).
Regiondaxili (Multi-AZ)
Avtofeylover BD/cache/ingress.
DNS/Anycast dəyişmədən, saniyə-dəqiqə RTO.
Data siniflərinə görə Backup
Prinsiplər:- Arxa plan dinc və tranzit şifrələnir, açarlar KMS/HSM-dədir.
- Kritik arxalar üçün Immutable (WORM) rejimi (silinməyə/şifrələməyə qarşı qorunma).
- Metadata ilə backup kataloqu (sxem versiyası, WAL pəncərəsi, nəzarət məbləğləri).
- PITR ledger üçün məcburidir.
Məlumat və idempotentlik: Feylover zamanı «dəliklərdən» necə qaçmaq olar
IdempotencyKey 'bet sorğularında. place`, `payout. request`, `cashier. webhook`.
Ledger - yalnız append-only: təkrar settle «yenidən yazma» deyil, düzəliş yazısı yaradacaq.
Tranzaksiya kilidləri/balans versiyası yazıçı rolunu dəyişdirərkən yarışlardan qoruyur.
Hadisələrin təkrarlanması (consumer-side, əsas sahələrdə hash).
Kassa, PSP və Kriptovalyuta: B planı həmişə aktivdir
Hər iki regionda əvvəlcədən açılmış ticarət hesabları (kart/ARM) üçün ən azı iki provayder.
Stablecoins üçün - iki şəbəkə (məsələn, TRC-20 və ERC-20) və iki on/off-ramp provayderi.
Ödəniş marşrutlayıcısı: PSP uğursuz olduqda dərhal ehtiyata keçir, səbəblər jurnalını aparır.
KYT/AML axınları təkrarlanır; xarici xidmət mövcud deyilsə - əl eskalasiyası ilə «degraded mode».
Əməliyyat prosedurları (Runbooks)
Avtomatik
Sağlamlıq-çek zəncir ingress → API → cüzdan → DB → provayder.
Cüzdanın deqradasiyası zamanı «ağır» funksiyaların (turnirlər/missiyalar) avtomatik açılması.
Eksponensial fasilə və ciddi son tarixlər ilə taymaut/retrai.
Əl (təsdiq ilə)
DR-regionun aktivə təşviqi: addım-addım çeklistləri, jurnallaşdırma, komm-şablonlar (sapport/tərəfdaşlar/tənzimləyici).
Raundlar üzrə kompensasiya/VOID: səbəb kodları, videofid linkləri, məsul şəxslərin imzası.
Ödənişlərin ikiqat nəzarət ilə əridilməsi.
Təlimlər və hazırlıq yoxlamaları
Game Day/Chaos Drill aylıq: AZ-ın bağlanması, DB-nin deqradasiyası, provayderin düşməsi.
Full DR Rehearsal rüblük: DR regionu «tam böyüməyə» qaldırın, real bahis/ödəniş ssenarilərini qaçırın.
Bərpa testləri: T vaxt ledger bərpa, nəzarət P&L və hash dilimləri ilə müqayisə.
Komplayensiyalı Table-top: kim və kimə məlumat verir, hansı hesabatlar formalaşır (tənzimləyici, PSP, affiliates).
Müşahidə və Feylover siqnalları
SLO metrik: p95 latency cüzdan, pay 'bet. rejected ', settle raund vaxt, SLA ödənişlər, DB replikasiya lag, Kafka konsumer lag.
Keçid hadisələri: «role change», «replication lag> X», «object-lock violation».
DR daşbordları: düyünlərin cari rolu, RPO qiymətləndirilməsi (WAL dəqiqələri), PITR pəncərə statusu.
Təhlükəsizlik və uyğunluq
Yurisdiksiya məlumatlarının izolyasiyası (EU/UK/CA/...): qanunla icazə verilən həddə replikasiya.
Jurnallar dəyişməz (S3 Object Lock/WORM), tənzimləmə müddətinə görə retenshn.
Sirləri: DR əməliyyatları üçün açarların rotasiyası, vəzifələrin bölünməsi (dual-control).
Bütün keçid və bərpa audit-trail.
DR-ni qıran anti-nümunələr
Ölkədə bir PSP/bir stablecoin şəbəkəsi - ehtiyat rels yoxdur.
Bir DB-də OLTP və OLAP - bərpa «canlı» əməliyyatları bloklayır.
No idempotencyKey - retrada debet/ödəniş dublikatı.
Müntəzəm bərpa testi olmayan backaplar - «Schrödinger backup».
WORM/immutability olmaması - insayder/zərərli aradan qaldırılması üçün zəiflik.
Qısa TTL və qızdırılmış end nöqtələri olmadan DNS feylover.
Eyni zamanda iki bölgədə bir ledger yazıçısı - vəziyyətin parçalanması.
Qəzaya hazırlıq yoxlama siyahısı
Memarlıq
- Bütün kritik xidmətlər üçün Multi-AZ, sənədli topologiya.
- DR-region təsvir rol (Active-Active/Passive) və büdcə ilə.
Məlumatlar
- Postgres: PITR, snapshot, lag-monitorinq, müntəzəm bərpa testləri.
- Kafka/NATS: güzgü/arxiv, replay-plan.
- ClickHouse/OLAP: partiya backup, seçimi bərpa.
- S3: Object Lock (WORM), versiyalar, xaç bölgəsi.
Proqramlar
- pul idempotency, append-only legger, balans versiyası.
- Hadisələrdə avtomatik feature-degrade (turnirlər/missiyalar off).
- Bölgəni dəyişdirməzdən əvvəl kanar yoxlamaları.
Kassa və Kriptovalyuta
- üsul üçün iki provayder və stabillər üçün iki şəbəkə.
- Marşrutlaşdırma və keçid səbəbləri jurnalı.
- KYT/AML eskalasiya ilə degrade rejimində.
Əməliyyatlar
- RACI və nömrə telefonları ilə Runbooks.
- Aylıq Chaos-gün və rüblük Full-DR təlimləri.
- Kommunikasiya şablonları (sapport, tərəfdaşlar, tənzimləyici).
Müşahidə
- RTO/RPO Dashboard, DB rolunun alertləri, lag, bahis/ödəniş uğursuzluqları.
- Keçid və bərpa audit log.
iGaming etibarlılığı «faylover düyməsi» deyil, vərdişlər sistemidir: coğrafi təcrid, proqnozlaşdırıla bilən RTO/RPO, idempotent pul, çox relsli kassa, immutable-backup, müntəzəm təlimlər və şəffaf ünsiyyət. Bu intizam oyunçuların və tənzimləyicilərin etimadına zərbələr vurmadan, «qapalı» raundlar olmadan, ledcerdə itkisiz uğursuzluqlar yaşamağa imkan verir.