カジノのフェイルオーバー、レプリケーション、DR計画
1)ビジネス目標: RTO/RPOとクリティカルフロー
RTO(サービスが利用できない時間):ログイン/レート/デポジット-秒/分;レポート-時間。
RPO(どれだけのデータを失うことができるか):ウォレット/トランザクション-~ 0-30秒;テレメトリー-分。
重要な流れ:ログイン、入金/出金、賭け/決済、KYC/AMLカラー、PSP/ゲームプロバイダーのWebhook。
2)建築の欠陥の許容パターン
アクティブ-アクティブ(マルチリージョン):両方のリージョンがトラフィックを処理します。低いRTO/RPO、複雑な一貫性。
アクティブスタンバイ:動作中の1つの領域、2番目のホット。簡単な状態、RTO分。
セルベース:「セル」(市場/ブランド)による分離、ローカルの事件はすべてをダウンさせません。
エッジパイ:レプリケーションを使用したAnycast CDN/WAF→地域ゲートウェイ→アプリクラスタ→DB/キャッシュ。
3)交通管理およびネットワーク偽
Anycast+CDN/WAF: L3/4/7の取り込み、起源の健康チェック。
DNS-feilover (low TTL、 multi-value)、 Traffic Manager/GSLB on health metrics。
高速パス変更のためのanti-DDoSプロバイダによるBGPの発表。
ヘルスチェック(ロジックの例):
p95_latency>thresholdならば 5xx_rate>threshold synthetic_login_fail:
排水(region_A);shift (traffic-> region_B、 ramp=5分)
4)データ: 財布、順序、賭け
truthのソースはledger: append only、 idempotence by 'operation_id'です。
和解:元帳、PSP、ゲームプロバイダ間の定期的な和解ジョブ。
アンチダブル:預金/ソーセージ/支払いのためのidempotencyキー。outbox/inboxへの重複除外。
5)データベース・レプリケーション-オプションとトレードオフ
物理同期(セミシンク):最小限のRPO、遅延のリスク-ポイントワイズ(ウォレット)を適用します。
非同期的:より高いパフォーマンス/シンプルさ、RPO秒-分-ゲームメタデータ、リファレンスブック。
論理(CDC→別の領域へのストリーム):柔軟な選択性、クロスエンジンや分析に便利。
キャッシュ(Redis/Memcached):真実のソースとしてではありません。レプリカ/スナップショット、ウォームスタート。
PITR:連続ログ(WAL/やり直し)オフサイトのストレージへ、回復ウィンドウ≥ 7-30日。
6)一貫性と和解パターン
Saga+Outbox:ステップのチェーンとしてのビジネストランザクション、データベースへの書き込みでイベントを原子的に公開します。
正確に一度「意味の中で」:操作のidempotency、バランスバージョンの制御(楽観的ロック)。
非キーフローの最終的な整合性(リーダーボード、アナリティクス);お金のために強い。
7)部品およびfeilover
API/バックエンド
Statlesの容器、autoscale、青緑/カナリア;ストレージを介して構成されます(バージョン管理付き)。
キュー/ストリーム
クォーラムクラスタ(N=3/5)、 クロスAZレプリカ;ポリシーとdltキューをやり直します。
ウォレットDB
Primari in Region A、 A(他のAZ)の同期レプリカ、Region Bの非同期;スプリットブレインを使用した自動プロモートは禁止されています。手動/チェックリストでスクリプトされたもののみです。
ファイル/CUSアーティファクト
バージョン管理、クロスリージョナルレプリカ/CRR、 KMSのキーを使用したオブジェクトストレージ。
WebSocket/リアルタイム
キー(テーブル/ゲーム/市場)によってsharding、粘着性があるルーティング;feiler-rejoinトークンで再登録。
8)支払いとゲームプロバイダー: 真実の多くの情報源
PSP-feilover:各メソッドの少なくとも2つのプロバイダ(カード、ウォレット、暗号)。
SLA/value/banlists BINによるルーティング率;自動遮断器による劣化したPSPの無効化。
ゲームプロバイダ:バックアップチャンネル/ASN allow-list、リージョンへの個々のキー、タイムアウトの分離。
9) Webhooksおよびソーセージ: 持続可能な受信および再生
受信トレイ・パターン:webhook→check the signature/NMAS→write in immutable-inbox→process the worker idempotely。
プロバイダのリトレイ:backoff+dedup by 'event_id'/'signature'。
DRでは:オーダーコントロール(txn→決済)で受信トレイからリプレイします。
10)バックアップ: 3-2-1戦略とリカバリのチェック
3コピー/2メディア/1オフサイト(および重要なジャーナルのための1 オフライン/WORM)。
スケジュール:毎日のスナップショット+恒久的な雑誌;「暗い」スタンドへの毎週のテスト・リストア。
リカバリディレクトリ:「t- Δ時にウォレットを調達する方法」。
11) DR計画: 役割、シナリオ、コミュニケーション
インシデントコマンダー、Comms、 DBリード、App Lead、 Payment/Game PM、 SRE Oncall。
チャンネル:ウォールルーム、ステータスページ、サポート/パートナー/アフィリエイトのメッセージテンプレート。
シナリオ(最小):- AZの損失、地域の損失、PSPの利用不能、データベースクラスタドロップ、ゲームプロバイダの劣化、キーリーク、大規模な5xx。
12) DRシナリオマトリックスの例
13)ランブックとオートメーション
「DR-cutover」ボタン:検証を伴うステップのシーケンス(freeze write→promote→warm caches→ramp traffic)。
整合性チェックスクリプト:レジャー/ウォレット量の調整、バランスの整合性。
Feature-flags:事故時にレポート/エクスポート/重いダッシュボードをすばやく無効にします。
14) feiloverのための観察可能性
トリガーとしてのSLOメトリクス:ログイン、デポジット、ベット、ゲームの起動。
Технические: replication-lag、 WAL-shipping、 queue-lag、 5xx、 p95、 SYN backlog、 WebSocket切断。
他の地域からの合成シナリオ:毎分ログイン/デポジット/ベット。
エンドツーエンドのトレース、'region'、 'psp'、 'game_provider'タグ。
15) カオス/DR演習
GameDay四半期ごとに:AZの切断、PSPの劣化、データベースノードの「損失」、キュー停止。
回顧:決定時間、アラートの欠落、ノイズ、ボトルネック。
「感覚」ではなく、事実に基づいてRTO/RPOと自動化を調整します。
16)安全性とコンプライアンス
KMS/HSM(クロスリージョン)、回転、デュアルコントロールのキー/シークレット。
監査およびトランザクションログのWORM/immunity。
DPA/PSP/プロバイダは、SLA/DRコミットメントと24 × 7コンタクトポイントの契約を締結しています。
17) Feilover Minimum Policy (Pseudocode)の例)
on Incident (type=「REGION_DOWN」):
freeze_non_critical_writes()
promote_db(地域=B)
verify_ledger_consistency()
warm_caches(地域=B)
route_traffic(地域=B、ランプ=10%)
ステップイン[25%、50%、100%]:
if SLO_green():ramp (step) else rollback()
announce_statuspage()
18)準備ができたチェックリスト
- フローごとの定義されたRTO/RPO;ビジネスによって受け入れられる。
- マルチAZ最小;ウォレット、ログイン、支払いのためのマルチリージョン。
- Ledger+idempotency (keys)+outbox/inbox;スケジュールの調整。
- データベースのレプリケーション:ローカルで同期、DRで非同期;PITRが有効になり、リストアがチェックされました。
- メソッドごとに2つのPSP、ルーティングポリシーとテストキー。ゲームプロバイダは選択肢です。
- DNS/GSLB/Anycast、健康チェックと合成、低TTL。
- RunbookとDR-cutoverボタン、劣化のためのフィーチャーフラグ。
- SLO/アラート/トレース;DRステータスパネル。
- 四半期ごとのDRエクササイズ+レトロ;更新された連絡先24 × 7。
履歴書のサマリー
信頼性の高いiGamingプラットフォームは、通貨回路を中心に構築されています。idempotency、予測可能なfeiler、検証可能なレプリケーション、および通常のDR演習を備えた投稿ジャーナルです。システムをセルと地域に分割し、カットオーバーを自動化し、2つのPSPとスペアゲームプロバイダを維持し、SLOと元帳の完全性を監視します。