Kazino üçin "Failover", "Replikasiýa" we "DR" meýilnamalary
1) Işewürlik maksatlary: RTO/RPO we möhüm flo
RTO (hyzmat näçe wagt elýeterli bolup biler): giriş/nyrh/goýum - sekunt/minut; hasabatlar - sagat.
RPO (näçe maglumatlary ýitirip bilersiňiz): gapjyk/amallar - ~ 0-30 sek; telemetriýa - minut.
Möhüm flowlar: login, depozit/karz, stawka/settlment, KYC/AML-kolbekler, PSP/oýun üpjün edijileriniň webhuklary.
2) Şowsuzlyga çydamlylygyň binagärlik patternleri
Active-Active (multi-region): iki sebit hem traffigi dolandyrýar; pes RTO/RPO, çylşyrymly yzygiderlilik.
Active-Standby: bir sebit işde, ikinjisi gyzgyn; has aňsat ýagdaý, RTO minut.
Cell-based: "öýjükler" boýunça izolýasiýa (market/brand), ýerli hadysalar hemme zady ýok etmeýär.
Edge-pirog: Anycast CDN/WAF → sebit şlýuzlary → app-klasterler → DB/replikasiýa bilen keş.
3) Trafik dolandyryşy we tor feýloweri
Anycast + CDN/WAF: L3/4/7 siňdirilmegi, origin-de saglyk barlagy.
DNS feýlower (pes TTL, multi-value), saglyk metriklerine görä Traffic Manager/GSLB.
Ýoly çalt üýtgetmek üçin anti-DDoS üpjün edijisiniň üsti bilen BGP-bildiriş.
Saglyk barlagy (logika mysaly):
if p95_latency>threshold          5xx_rate>threshold          synthetic_login_fail:
drain(region_A); shift(traffic->region_B, ramp=5min)4) Maglumatlar: gapjyk, sargytlar, nyrhlar
Hakykatyň çeşmesi - geçiriş magazineurnaly (ledger): diňe append, 'operation _ id' boýunça idempotentlik.
Ylalaşmak: ledger, PSP we oýun üpjün edijileriniň arasynda wagtal-wagtal reconciliation joblary.
Anti-dubl: idempotency-depozitler/kolbekler/tölegler üçin açarlar; outbox/inbox.
5) DB-niň köpeldilmegi: wariantlar we ylalaşyklar
Fiziki sinhron (semi-sync): iň az RPO, gijikdirme töwekgelçiligi - nokat (gapjyk) hökmünde ulanmak.
Asinhron: has ýokary öndürijilik/ýönekeýlik, RPO sekunt-minutlar - oýun metadata, gollanmalar.
Logiki (CDC → akym başga sebite): çeýe saýlama, çapraz hereketlendirijiler we analitikler üçin amatly.
Keshler (Redis/Memcached): hakykat çeşmesi hökmünde däl; replika/snapshotlar, ýyly başlangyçlar.
PITR: Ofsaýt ammarynda üznüksiz magazinesurnallar (WAL/redo), dikeldiş penjiresi ≥ 7-30 gün.
6) Ylalaşygyň yzygiderliligi we şablonlary
Saga + Outbox: iş amallary ädimler zynjyry hökmünde, wakalary DB-e ýazmak bilen atomiki çap etmek.
Exactly-once "manysy boýunça": amallaryň deňagramlylygy, balansyň wersiýalaryna gözegçilik (optimistic locking).
Eventual consistency açar däl flowlarda (liderbord, analitika); pul üçin strong.
7) Komponentler we olaryň feýloweri
API/arka
Statles-konteýner, awtoskeýl, blue-green/canary; ammar arkaly konfigalar (wersiýa bilen).
Nobatlar/akymlar
Kworum-klasterler (N = 3/5), kross-AZ replika; gaýtalama we dlt-nobat syýasaty.
Gapjygyň BD
Region A-da deslapky, A-da sinhro-replika (başga bir AZ), asinhron - Region B-de; split-brain-de awtomatiki promote gadagan - diňe çek sahypasy bilen el bilen/skriptde.
Faýllar/KUS-artefaktlar
Obýektiň wersiýasy bolan ammar, kross-sebitleýin göçürme/CRR, KMS-de açarlar.
WebSocket/Real-time
Açarlar boýunça şarding (table/game/market), sticky-routing; feýlowerde - rejoin-token bilen resubscribe.
8) Oýunlaryň tölegleri we üpjün edijileri: hakykatyň köp çeşmesi
PSP feýlower: her usul üçin azyndan 2 üpjün ediji (kart, gapjyk, kripto).
SLA/bahasy/BIN banlistleri boýunça göterim routing; PSP-ni awtomat bilen öçürmek.
Oýun üpjün edijileri: ätiýaçlyk kanallary/ASN allow-list, sebitlere aýratyn açarlar, wagt-autlaryň izolýasiýasy.
9) Webhuklar we kolbekler: yzygiderli kabul etmek we oýnamak
Inbox-pattern: webhuk kabul edýäris → goly barlaýarys/NMAS → immutable-inbox ýazýarys → imempotent ussany bilen bejerýäris.
Üpjün edijileriň retraýlary: backoff + 'event _ id '/' signature'.
DR-de: Tertibi dolandyrýan inbox sesi (txn → settlement).
10) Bellikler: 3-2-1 strategiýasy we dikeldiş barlaglary
3 göçürme/2 daşaýjy/1 ofsaýt (we 1 - möhüm magazinesurnallar üçin oflayn/WORM).
Meýilnama: gündelik snapshotlar + hemişelik žurnallar; "garaňky" stendde hepdelik test-restore.
Dikeldiş kataloglary: "t- Δ wagtynda gapjygy nädip götermeli".
11) DR-meýilnama: rollar, ssenariler, aragatnaşyklar
Роли: Incident Commander, Comms, DB Lead, App Lead, Payments/Game PM, SRE Oncall.
Kanallar: war-room, status-sahypa, sapport/hyzmatdaşlara/affiliatlara habar şablonlary.
Ssenariler (iň az):- AZ-yň ýitmegi, sebitiň ýitmegi, PSP-iň elýeterli däldigi, BD klasteriniň ýykylmagy, oýun üpjün edijisiniň pese gaçmagy, açarlaryň syzmagy, köpçülikleýin 5xx.
12) DR-ssenariýalaryň matrisasynyň mysaly
13) Runbook 'we awtomatlaşdyryş
"DR-cutover" düwmesi: walidasiýa bilen ädimleriň yzygiderliligi (freeze writes → promote → warm caches → ramp traffic).
Bitewiligi barlamagyň skriptleri: summalary ledger/gapjyk boýunça deňeşdirmek, balanslaryň gapma-garşylygy.
Feature-flags: heläkçilik wagtynda hasabatlaryň/eksportlaryň/agyr daşbordlaryň çalt disable.
14) Feýlower üçin syn edilişi
SLO-metrikler trigger hökmünde: giriş, goýum, stawka, oýny başlamak.
Технические: replication-lag, WAL-shipping, queue-lag, 5xx, p95, SYN backlog, WebSocket disconnects.
Beýleki sebitlerden synthetic ssenariýalary: giriş/goýum/her minutda jedel.
end-to-end, 'region', 'psp', 'game _ provider' bellikleri.
15) Chaos/DR-maşklar
GameDay çärýekde: AZ-yň öçürilmegi, PSP-iň pese gaçmagy, DB düwüniniň "ýitmegi", nobatyň durmagy.
Retrospektiv: karar kabul etmegiň wagty, ýitirilen alertler, ses, dar ýerler.
RTO/RPO-ny we awtomatlaşdyrmagy "duýgular" däl-de, faktlaryň esasynda düzetmek.
16) Howpsuzlyk we gabat gelmek
KMS/HSM-de açarlar/syrlar (kross-sebitleýin), aýlaw we dual-control.
Audit we amallar üçin WORM/immutability.
SLA/DR borçnamalary we aragatnaşyk nokatlary boýunça PSP/üpjün edijiler bilen DPA/şertnamalar 24 × 7.
17) Feýloweriň iň pes syýasatynyň mysaly (pseudokod)
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) Taýynlyk çek-sanawy (prod-ready)
- Her flow üçin RTO/RPO kesgitlenildi; iş tarapyndan kabul edildi.
- Multi-AZ minimal; Gapjyk, login we tölegler üçin multi-region.
- Ledger + idempotentlik (keys) + outbox/inbox; reconciliation.
- DB replikasiýasy: ýerli sync, DR-da async; PITR açyldy, dikeldildi.
- Usul, marşrut syýasaty we synag açarlary üçin iki PSP; oýun üpjün edijileri - alternatiwalar.
- DNS/GSLB/Anycast, saglyk barlaglary we sintetika, pes TTL.
- Runbook 'i we "DR-cutover" düwmesi, degradasiýa üçin feature-flags.
- SLO/alertler/söwda; "DR-status" paneli.
- Çärýekleýin DR-maşklar + retro; täzelenen aragatnaşyklar 24 × 7.
Jemleme
Ygtybarly iGaming platformasy pul konturynyň töwereginde gurulýar: idempotentlik bilen geçiriş magazineurnaly, öňünden aýdyp boljak feýlower, barlanylýan replikasiýa we yzygiderli DR-maşklar. Ulgamy öýjüklere we sebitlere bölüň, kesijini awtomatlaşdyryň, iki sany PSP we ätiýaçlyk oýun üpjün edijisini saklaň, SLO-ny we dolandyryjynyň bitewiligini yzarlaň - hatda uly heläkçilik hem ynamy we puly ýitirmezden dolandyrylýan waka bolar.
