インフラストラクチャスケーリングが重要な理由
企業が規模を縮小する必要がある理由
"天井のない収益。"ピークイベント(ダービー、決勝、メジャースロットリリース)はRPSを掛けます。スケーラビリティにより、トラフィックのスパイクは5xxエラーではなくGGRの成長に変わります。
安定したSLO。我々は、任意のオンラインのターゲットフレームワーク内でクリティカルパス(レート、バランスアップデート、撤退)のp95レイテンシーを維持します。
管理下のコスト。弾性=「一定の高さ」ではなく「ホットウォッチ」を支払う。
規制とブランド。キャッシュレジスター/ウォレットの可用性と予測可能な操作は、監査とプレーヤーの信頼の対象です。
スケーリングの種類
水平(スケールアウト)
サービスインスタンスを追加します。ステートレスAPIの基礎、プロバイダへのブリッジ、Webゲートウェイ、労働者。長所:耐障害性、弾性。短所:Idemotenceと外部条件が必要です。
垂直(スケールアップ)
ノードリソースの増加。データベースやOLAPクラスタに適していますが、限界があり、単位利得あたりのコストが高くなります。
Geographical(地理的)
マルチAZと、必要に応じて、マルチリージョン:プレーヤーに近い→ベット/ストリームの低遅延と事故に対するより多くの抵抗。
カジノで正確にスケールするもの
EdgeとAPI:ゲートウェイ、WAF、 GraphQL/REST、 WebSocketハブ(ベット/イベント)。
プロバイダへのブリッジ:RPSによるHPAのライブ/RNGアダプタと'bet。 accepted'までの時間。
ウォレット/台帳:ステートフルコア-読み取り、シャーディング、トランザクション最適化のためのレプリカをスケーリングします。
キャッシュデスク:支払いプロバイダ/暗号オン/オフランプのための個別のプール、支払いのためのキュー。
キュー/イベントバス:消費者を自動スケーリングするKafka/NATSクラスタ。
キャッシュ/ディレクトリ:ホットキーのRedis/Memory-caching、静的アセットのCDN。
ストリーミング:WebRTC/LL-HLSエッジノードで、QoS経由でオートフォールバックとオートスケールを行います。
エンジニアリング・フィロソフィー
1.お金の中でのidempotence。'bet。 place'/'payoutによる任意のリトレイ。request'は正確に一度処理されます(idempotenceキー)。
2.キューとバックプレッシャー。クリティカルパスはブロックされません。プロバイダ/データベースが遅い場合、リクエストは制御された「ドレイン」でバッファに落ち、セカンダリフィーチャーは最初に低下します。
3.最初にキャッシュします。読み取り重量のあるクエリ(バランス、ロビー)-キャッシュ/実体化ビュー;障害-イベントによって。
4.シャーディングだ。データ/ストリーム('playerId'、国、プロバイダー、通貨)を分離します。
5.一貫性はお金があるところです。財布/元帳だけのための厳密な酸;残りはイベントを通じて最終的です。
6.リリース前の観察可能性。メトリック/トレイルはサービス契約の一部であり、そうでなければオートスケールは「盲目」です。
指標と目標(SLO/SLA)
p95/p99レイテンシ:- 'ベット。place '≤ 150-250 ms(地域内)、'wallet。デビット/クレジット'≤ 50-100'ペイアウト。quote/submit '≤ 500-800ミリ。
- エラー率:'5xx' <0。1–0.3% on API、 'reject_rate'ベット<0。正常な操作の間の2%。
- スループット:API/ブリッジのRPS;バスのイベント/秒。
- キュー:長さと待ち時間(例えば、ピーク時≤ 2〜5分間の支払い)。
- ストリームQoS:ドロップフレーム、RTTベッティングシグナル、中絶ラウンド。
- キャッシュのヒット数:ヒット率>ホットキーの85-95%。
- コスト/収益:インフラストラクチャ/GGRのコスト、要求のコスト(コールあたりµ$)。
ドメインスケーリングパターン
財布と台帳
読書のための読者レプリカ;ライター-シャードごとに1つ。
CQRS:書き込み(厳密には)読み取り(実体化されたスライス)から分離します。
バッチ調整と「タッチアップ」トランザクション-厳密には、追加のみのジャーナルを通じて。
ブリッジ/ゲームインテグレーション
ベットのレイテンシによるオートスケールを備えたステートレスアダプタ。承諾しました。
各プロバイダのサーキットブレーカ、劣化-UIの一時的な劣化とテーブルの無効化。
支払い/暗号
WebhookとPSP/オンチェーンリスナー用の専用プール。idempotencyによる再処理。
SLA/cost/countryに基づくプロバイダによるルータ。
読み込み操作
労働者/ジョブ(ボーナス、ミッション、トーナメント)-キューで;キューの長さと締め切りによってスケールされます。
ストリーミング
リージョンのエッジプール、WebRTC→LL-HLSオートファウル;QoS保持のための垂直ビットレート/品質制限。
アーキテクチャソリューション
HPA/VPA/クラスタオートスケーラー: HPA-API/ブリッジ;VPA-ETL/レポート;ノード-異機種混在プール(CPU重量、メモリ重量、ネットワーク最適化)。
PodDisruption予算と優先順位:お金のコアは変位から保護されています。
フィーチャーフラグとカナリアリリース:新機能をトラフィックの割合に拡大します。
ジオルーティング:Anycast/DNSとリージョナルイングレスゲートウェイはユーザーに近いです。
コストと効率性
リソースプロファイル。リクエスト/リミットが設定され、リアルプロファイルに対応します(クリティカルパスでCPUスロットルなし)。
分析/ETLおよびバックグラウンドジョブのスポットプール。
作業ウィンドウ外のテスト/ステージ環境を自動的に無効にします。
コアの代わりにキャッシュ。データベースによってCPUを乗算するよりも、Redisヒットを追加する方が安価です。
スケールアウトセキュリティ
コールグラフが大きくなるにつれて、サービス間のmTLS/mesh。
NetworkPolicy: Money/PIIドメインは独立した信頼ゾーンです。
シークレットの回転と画像の署名-より多くのノード=より多くのリスクの場所。
ブラスト半径制御:シャーディングと要求制限はカスケードから保護します。
アンチパターン
グローバルロックによるスケールモノリス:囲炉裏の増加=競合の増加。
HPAと「セカンダリ」機能の劣化の代わりに、永遠に「ピーク時」に暖かいクラスター。
同じデータベース上でOLTPとOLAPを混在させると、ベットの遅延が発生します。
idempotencyの欠如-リトリートでのデビットの倍増(特にピーク時)。
CPUによるブラインドオートスケール-実際のメトリック(time 'bet。 place'、 queue length)を無視します。
国ごとに1つの支払いプロバイダー-それが「嘘」をつくときにスケールするものはありません。
実装チェックリストのスケーリング
ストラテジー
- SLO (p95 latencies、 errors、 RPS)とerror budgetが定義されている。
- ドメインのセグメンテーション:お金/レート/キャッシュデスク-セカンダリ機能とは別。
データ
- Sharding/replicas、 CQRS per read、 materialized view。
- 明確な障害ポリシーを持つキャッシュレイヤー。
インフラストラクチャー
- HPA/VPA、その他のノードプール、PDB、および優先順位。
- ジオルーティング、マルチAZ、 DR対応
アプリケーション
- IdempotencyKey for money/payment/webhook。
- サーキットブレーカとタイムアウト;backpressure/キュー。
- フィーチャーフラグとカナリア。
Observability(可視性)
- トレイルはエンドツーエンド(ingress→API→wallet→provider→webhook)です。
- ダッシュボードRPS/レイテンシ/エラー/キュー/QoSストリーム。
- 'reject_rate'の成長と'round'の劣化を警告します。「落ち着いて」
コスト(Cost)
- 正しいリクエスト/制限、バックグラウンドタスクのスポット、自動スリープ解除。
インフラストラクチャのスケーリングは、"より多くのサーバーについてではありません。"これは、制御された弾力性についてです。ハードコンシステンシー(お金)が必要な場合、シャードコアと高速トランザクションを設計します。可能であれば、イベント、キュー、キャッシュに転送します。この観測性、地理、リリース規律に加えて、プラットフォームはSLO、 P&L、プレーヤーの信頼性に妥協することなく、あらゆるピークに耐えます。