Yük devretme ve yedekleme iGaming'de nasıl çalışır?
Neden iGaming özel bir DR/BCP disiplinine ihtiyaç duyuyor?
Bir casino platformu gerçek zamanlı para (cüzdan/defter), canlı turlar (RNG/Canlı), ödemeler, bağlı kuruluşlar ve sıkı uyumdur. Herhangi bir erişilebilirlik deliği hızla finansal ve yasal risklere dönüşür. Bu nedenle, mimari öngörülebilir iyileşme etrafında inşa edilmiştir: bilinen hedefler, bilinen senaryolar, prova edilen prosedürler.
Temel hedefler ve terimler
RTO - Kurtarma Süresi Hedefi
Cüzdan/defter için: ≤ 60-300 sn (intraregional feilover), ≤ 15 dk (bölgelerarası DR).
Kurtarma Noktası Hedefi (RPO) - kabul edilebilir veri kaybı.
Defter için: 0-5 saniye (senkron/yarı senkron çoğaltma), raporlama için: ≤ 15 dakika.
SLA ve Hata Bütçesi: Değişim oranı ve istikrar arasındaki dengeleri resmileştirin.
Hata toleransı katmanları
1) Altyapı: Çok AZ/Çok Bölgeli
Multi-AZ (minimum 3 bölge): Tüm kritik hizmetler bölgelere göre dağıtılır, otomatik veritabanı/veri yolu yük aktarımı.
Çok Bölgeli DR: "Sıcak" (Aktif-Aktif) veya "sıcak" (Aktif-Pasif) ikinci bölge, yargı yetkisine göre izolasyon (veri ikameti).
Hangi modun ne zaman olduğuna karar vermek:- Active-Active: iki bölgedeki oyunculara düşük gecikme süresi, olay senkronizasyonu yoluyla bölgeler arası defter + hesaplamalar için sıkı tek "doğruluk yeri".
- Aktif-Pasif (sıcak): daha basit ve daha ucuz; Pasif, sıcak örnekleri + veritabanı kopyalarını tutar, ancak trafiğe hizmet etmez.
2) Ağ ve çevre
Çoğaltılmış giriş/WAF, Anycast veya DNS feilover sağlık kontrolleri ile.
Yazar kasalar ve sağlayıcılar için ayrı çıkış ağ geçitleri, her iki bölgede de izin verilen IP listeleri.
3) Veriler ve kuyruklar
İlişkisel veritabanları (Postgres): Patroni/Managed HA, AZ'de senkron kopyalar, DR bölgesinde asenkron kopya (lag monitoring ile). Her N dakikada + WAL arşivinde anlık görüntülerle PITR.
OLAP (ClickHouse/BigQuery): çoğaltma/parçalama; Kayıp yukarıda kabul edilebilir (RPO 15-30 dakikaya kadar).
Önbellek (Redis): yük devretme özelliğine sahip bir küme, ancak bir doğruluk kaynağı değil; geçiş - ısınma sırasında.
Olay veriyolu (Kafka/NATS): ayna kümeleri ve/veya çapraz küme yansıtma, en az bir kez garanti, tüketiciler üzerinde idempotency kontrolü.
4) Uygulamalar ve alanlar
Cüzdan/defter: katı tutarlılığa sahip durumsal çekirdek, bölge başına bir'ana yazar "; Bölgelerarası DR ile - çift giriş kilidi ile "seçilmiş yazar" prosedürü.
Oyun köprüsü/API: sağlık kontrolleri için durumsuz, yatay feiler; idempotencyTüm finansal yollar için anahtar.
Bonuslar/bildirimler/ETL: gecikmeli işleme izin verin, kuyruklardan yeniden başlatın.
Gişe (PSP/crypt): Çok sağlayıcılı strateji (ülke başına en az 2 ray), satıcıların/uç noktaların hızlı değişimi.
5) Canlı yayınlar
Bölgesel kenar düğümlerine sahip WebRTC/LL-HLS ağ geçitleri; WebRTC bozulması altında LL-HLS'de geri dönüş yolları.
Bahis mantığını oyuncunun dışında tutmak, böylece akışı yeniden başlatmak hesaplamayı etkilemez.
Yük devretme desenleri
Varlık-varlık (iki bölgeli)
Artıları: Minimal RTO/RPO, oyunculara yakınlık.
Eksileri: defter karmaşıklığı ve kayıt çakışmaları, pahalı ızgara.
Uygulama: "Alan başına bir yazar" + komşu bölgedeki devletleri yeniden üretmek için olay kaynağı.
Varlık-sorumluluk (sıcak)
Artıları: Fiyat/zorluk dengesi.
Eksileri: Yukarıda RTO, pasif bir bölgeyi "tanıtmak" için kanıtlanmış bir plana ihtiyaç duyar.
Uygulama: Cüzdan değiştirirken otomasyon + manuel onay (4 göz prensibi).
Intraregional (Multi-AZ)
Veritabanı/önbellek/giriş otomatik bilgisi.
DNS/Anycast değişikliği yok, RTO saniye-dakika.
Data Class tarafından yedekleme
İlkeler:- Yedek dinlenirken ve taşınırken şifrelenir, anahtarlar KMS/HSM'de şifrelenir.
- Kritik yedeklemeler için değişmez mod (WORM) (silme koruması/fidye yazılımı).
- Meta verilerle yedekleme kataloğu (şema sürümü, WAL penceresi, sağlama toplamı).
- Defter için PITR zorunludur.
Veri ve idempotans: Bir feiler ile "delikler" nasıl önlenir
IdempotencyKey on 'bet' requests. Yer ',' ödeme. Talep, kasiyer. Webhook '.
Ledger - sadece ekle-sadece: tekrarlanan yerleşme bir "yeniden yazma'değil, bir düzeltme girişi oluşturacaktır.
İşlemsel kilitler/denge sürümleri, yazar rollerini değiştirirken yarışa karşı koruma sağlar.
Olay veri tekilleştirme (tüketici tarafı, anahtar alanlara göre karma).
Yazar kasa, PSP ve crypt: B planı her zaman dahildir
Ödeme yöntemi için en az iki sağlayıcı (kart/AWP), her iki bölgede önceden kurulmuş satıcı hesapları.
Stablecoinler için - iki ağ (örneğin, TRC-20 ve ERC-20) ve iki açık/kapalı rampa sağlayıcısı.
Ödeme yönlendiricisi: Arıza durumunda, PSP anında yedeklemeye geçer, nedenlerin bir kaydını tutar.
KYT/AML akışları çoğaltılır; Harici servis mevcut değilse - manuel yükseltme ile "bozulmuş mod".
Operasyonel Prosedürler (Runbooks)
Otomatik
Sağlık kontrol zinciri girişi ^ API ^ cüzdan ^ veritabanı ^ sağlayıcı.
Cüzdan bozulduğunda'ağır "işlevlerin (turnuvalar/görevler) otomatik olarak devre dışı bırakılması.
Zaman aşımları/üstel duraklama ve katı son tarihler ile geri çekilir.
Manuel (onay ile)
DR bölgesinin bir varlık haline getirilmesi: adımlarla kontrol listeleri, günlük kaydı, com-şablonlar (destek/ortaklar/düzenleyici).
Turlarla Tazminat/VOID: neden kodları, video kılavuzuna bağlantılar, sorumluların imzası.
Çift kontrollü buz çözme ödemeleri.
Egzersizler ve hazırlık kontrolleri
Game Day/Chaos Drill aylık: AZ'yi kapatma, veritabanı bozulması, sağlayıcı düşüşü.
Tam DR Provası üç ayda bir: DR bölgesini "tam büyüme'ile yükseltin, gerçek bahis/ödeme senaryolarını çalıştırın.
Testleri geri yükle: Defteri zaman T'ye geri yükleyin, kontrol P&L ve karma dilimleri ile kontrol edin.
Uygunluk tablosu: kim ve kim hangi raporların üretildiğini bildirir (düzenleyici, PSP, bağlı kuruluşlar).
Gözlemlenebilirlik ve feilover sinyalleri
SLO metrikleri: cüzdan p95 gecikmesi, share 'bet. Reddedildi ', yuvarlak ödeme süresi, ödeme SLA'sı, veritabanı çoğaltma gecikmesi, Kafka tüketici gecikmesi.
Olay değiştirme: uyarılar "rol değiştirme", "çoğaltma gecikmesi> X", "nesne kilidi ihlali".
DR panoları: geçerli düğüm rolü, RPO puanı (WAL dakikaları), PITR pencere durumu.
Güvenlik ve uyumluluk
Yargı yetkisine göre veri izolasyonu (AB/İngiltere/CA/...): yasal sınırlar içinde çoğaltma.
Sabit günlükler (S3 Nesne Kilidi/WORM), yasal son tarihlere göre saklama.
Sırlar: anahtar rotasyonu, DR için çift kontrol
Tüm geçiş ve restorasyonların denetim izi.
DR'yi kıran anti-desenler
Ülke başına bir PSP/bir stablecoin ağı - yedek ray yok.
OLTP ve OLAP aynı veritabanında - kurtarma canlı işlemleri engeller.
Hiçbir idempotencyKey - borç/ödeme retrays için iki katına çıkar.
Düzenli bir geri yükleme testi olmayan yedeklemeler "Schrödinger yedeklemesi'dir.
WORM/değişmezlik eksikliği - içeriden/kötü niyetli silme güvenlik açığı.
Kısa TTL'ler ve ısıtılmış uç noktalar olmadan DNS feilover.
Aynı anda iki bölgede tek bir defter yazarı devlet bölünmesidir.
Acil durum hazırlık kontrol listesi
Mimari
- Tüm kritik hizmetler için Multi-AZ, belgelenmiş topoloji.
- Tanımlanan rolü (Aktif-Aktif/Pasif) ve bütçesi olan DR bölgesi.
Veri
- Postgres: PITR, anlık görüntüler, gecikme izleme, düzenli kurtarma testleri.
- Kafka/NATS: yansıtma/arşiv, yeniden oynatma planı.
- ClickHouse/OLAP: toplu yedeklemeler, örnekleri geri yükleme.
- S3: Nesne Kilidi (WORM), sürümler, çapraz bölge.
Uygulamalar
- Para idempotency, sadece defter ekleme, denge sürüm.
- Olaylarda otomatik özellik düşürme (turnuvalar/görevler kapalı).
- Kanarya bölge değiştirmeden önce kontrol eder.
Bilet ofisi ve crypt
- Yöntem başına iki sağlayıcı ve ahırlar için iki ağ.
- Yönlendirme ve anahtar neden günlüğü.
- KYT/AML tırmanma ile bozunma modunda.
Operasyonlar
- RACI ve görevli telefonları ile Runbook.
- Aylık Kaos günleri ve üç aylık Tam DR tatbikatları.
- İletişim şablonları (destek, ortaklar, düzenleyici).
Gözlemlenebilirlik
- RTO/RPO panoları, DB rol uyarıları, gecikmeler, teklif/ödeme hataları.
- Anahtarların ve geri yüklemelerin denetim günlüğü.
Güvenilirlik iGaming bir "feiler düğmesi'değil, bir alışkanlıklar sistemidir: coğrafi izolasyon, öngörülebilir RTO/RPO, idempotent para, çok raylı nakit masası, değişmez yedeklemeler, düzenli egzersizler ve şeffaf iletişim. Bu disiplin, defterde kayıp olmadan, "sıkışmış" turlar olmadan ve oyuncuların ve düzenleyicilerin güvenini sarsmadan başarısızlıkları deneyimlemenizi sağlar.