ジャックポットAPIの仕組み
完全な記事
1)ジャックポットシステムとは何ですか、そしてそれは生態系のどこに立っていますか
ジャックポットシステムは、賭けからの貢献を収集し、プールを管理し、トリガーを獲得し、賞品の分配を計算し、オペレータの支払いループを通じて支払いを開始する別のサービス(時にはサービスのクラスタ)です。それは統合されます:- RGS(レート/アウトカムと資格に関するメッセージ)、プラットフォーム/ウォレット(寄付と賞金のクレジット)、アグリゲーター(多くのスタジオ/ブランドからのルーティング)、BI/レギュレータ(テレメトリとレポート)。
2)ジャックポットの種類(およびAPIの変更)
1.固定-事前に知られている賞の量。APIにプールはなく、条件チェックとクレジットのみです。
2.プログレッシブ:プールは賭けの貢献から成長します。寄付のエンドポイントと現在のサイズの公表が必要です。
3.マルチティア(Multi-Tier: Mini/Major/Grand):オッズとキャップが異なる複数のパラレルプール。
4.ローカルネットワーク対:ローカルプール-1人のオペレータ/ブランド;ネットワーク-多くの事業者/ブランド/地域の合計(マルチテナンシーとレプリケーションは重要です)。
5.時間/イベント:期限があるプールまたはスケジュール(タイマーと自動描画が必要です)。
3)金融不変量
バランスの真実の源は、プラットフォームの財布/元帳です。JPはプールと負債の状態のみを格納します。
すべてのマネートランザクションはidempotent(キー'jp_curb_id'、 'jp_trigger_id'、 'jp_payout_id')です。
損失/重複した支払い=0。補償-イベント(サガ)によるものであり、手動のデータベース編集によるものではありません。
独自のテレメトリーを使用して、独立したトランザクションとしての貢献、トリガー、およびペイアウトを分離します。
4) APIリファレンス契約
4.1 RGS/→ aggregator JP(貢献とトリガー)
'POST/v1/jp/contribution'-プール貢献の会計
json
{
「 :」 uuid-1「」、 : 「brand-42」「、 :」 grand-eu-01「」、 : 「 」「、 :」 「」、bet「:{」amount': 2。00、 "currency": "EUR"}、 "contrib": {"amount': 0。02、 「currency」: 「EUR」}、 「occurred_at": 「2025-10-23T15:12:05Z,」 「idempotency_key": 「round_r_123」
}「POST/v1/jp/候補者」-参加申請・条件確認(任意)
答え:'対象:true/false'、体重またはチャンス、ルール。
'POST/v1/jp/triggers'-操作の事実を記録する
json
{
" :" uuid-2"、" : "grand-eu-01"、 "reason": " " selector":{"player_id":" ":" "、" " "
}4.2 JP→プラットフォーム(決済・規定)
'POST/v1/wallet/reserve'-(オプション)将来の支払いのための規定
'POST/v1/wallet/credit'-プレイヤーの勝利クレジット
JSON
{
"jp_payout_id":" uuid-3"、"tenant_id": "brand-42"、 "player_id":" p_abc, "pool_id":" grand-eu-01"、"amount': {"amount': 500000。00、 "currency": "EUR"}、 "meta": {"tax": "witheld=false"、 "tier": "grand"}、 "idempotency_key": "jp_p_grand_r_123"
}4.3プールステータスを公開(フロント/ウィジェット用)
'GET/v1/jp/pools/{ pool_id}'→現在のサイズ、シード、キャップ、参加者数、ETAなど。
'GET/v1/jp/pools'→フィルタ付きのブランド/リージョン別プールのリスト。
5)イベントモデル(カフカ/パルサー)と図
基本的なトピック:- 'jp。貢献しています。記録された'
- 'jp。プールだよ。updated'(サイズ、競合のアップデート)
- 'jp。トリガー'
契約:Avro/JSONスキーマ+スキーマレジストリ、参加キー'tenant_id'、 'pool_id'、 'player_id'。バージョン管理-下位互換性があります。
6)トリガーアルゴリズム(高レベル)
確率的(p-stable):適格ラウンドごとに、確率'p'のヒットを生成します(プール/レベルタイプによって異なります)。
範囲(必須ドロップ):プールはキャップサムまたは期限に該当する必要があります。内部のランダムを範囲[min、 max]、 パブリッシュキャップ/ETAに保ちます。
シードとエントロピーの管理:サーバーシード+ラウンドごとの塩;クライアントジャックポットシートを放棄します。種子の変更はすべてWORM監査の下にあります。
正直:トリガーはプレイヤーの特定の人格(地理/ライセンス/資格規則以外)に依存してはなりません。個人的なターゲティングはタブーです。
7) SLOおよび性能
p95 'contribution' <120 ms、 p99 <250 ms。
p95'トリガー→クレジット'<500ミリ秒(外部決済ホップなし)。
「紛失/複製ペイアウト」=0(契約テストでチェック)。
BI ≤ 5分にイベント配信。
99 ≥のクリティカルパスのJP API可用性。95%.
8)安全性とコンプライアンス
すべてのS2SでmTLS+署名(HMAC/EdDSA)が短命トークンを呼び出します。
ゼロトラスト:ネットワークポリシー/メッシュ、最小権限、地域ごとのセグメンテーション。
制限、数式、種子/エントロピー、プール構成への変更のWORM監査。
GDPR/データ 常駐/PCI: PIIとログ-地域;機密フィールドのトークン化;クロスリージョンの読み取りを禁止します。
RG/AML:支払の同期ブレーキライト;SAR/STRアップロードは自動化されています。
9)コヒーレンスとサガ
Contribution ('contribution')-JPでの修正、publish 'jp。貢献しています。記録されています'.
トリガー('triggered')-義務を作成します。JPが「payout」 sagaを立ち上げました。
ペイアウト('ペイアウト。リクエストされた→ウォレット。クレジットだ。ok')-サーガを終了します。偽で-重複排除とレトライ。
Outbox/CDCはイベントを公開する唯一の方法です。「バイパス」ロガーはありません。
10)テレメトリーとダッシュボード
ビジネス:- 'pool_size'、 'contrib_rate'、 'avg_contrib_per_bet'、 'time_to_drop'、 'payout_count/sum'、' tier_distribution'。
- P50/P95/P99は'貢献'、'trigger'、 'payout';
- error rate (5xx/4xx/business)、 retry storms、 queue lag;
- 'wallet。credit 'latency/ok-rate;プール更新の競合。
- 「成長」の払い戻し。failed'>X% by brand/region、' pool_size'>cap-Y% of time (configuration error)、' pool_size'とreconciliation contribution amount> Z ppmの間のドリフト。
11)複数のテナントおよび分離
すべてのリクエストとイベントは'tenant_id/brand_id/license/region'とマークされています。
ローカル/ネットワークプールは、異なるライセンス/リージョンの下で物理的に分離(DB/クラスタ)されます。
行レベルのセキュリティ(RLS)とBIストアフロントでのマスキング。
ブランド/地域ごとの個々のキー/シークレットおよび回路図スペース。
12)ボーナス/トーナメントとの統合
貢献はベーガーを直接増加させません。ボーナスへの貢献-貢献からではなく、賭けから来ます。
トーナメントは「、JP参加」または「トップ貢献」のポイントを付与することができます。"Source-events 'jp。貢献しています。記録されています。トリガーされた'.
必須ルール:ジャックポットメカニックはゲームの基本的なRTPを変更しません。そうでなければ別の証明が必要です。
13)テストとカオスの実践
契約テストRGS↔JP↔koshelyok:二重配達、遅れ、順序外、ロールバック。
負荷テスト:ベットとトリガーの嵐、プールワーカーのスケーリング。
カオス演習:JP地域の秋、オフラインウォレット、時間の非同期;outboxとdegradation (pause triggers/no new contribution)をチェックします。
14)チェックリスト
スタジオ/RGSのため
- Idempotent 'contribution'と正しい'round_id'/'bet_id'。
- トランザクションをバイパスする出版物はありません(outbox/CDCのみ)。
- 重複/繰り返しトリガー/補償のテスト。
- 最大ベット/資格制限はJPに転送されます。
オペレータ/プラットホームのため
- 元帳は真実の源であり、財布です。重複排除のクレジット。
- RG/AMLの停止は支払で処理されます;SAR/STRレポート。
- p95 'trigger→credit'ダッシュボード、エラー率、プールの調整。
JPオーナー様へ
- 式/種子/制限変更のWORM監査。
- レジストリとバージョン管理におけるイベントスキーマ。
- DR: RPO ≤ 5分、RTO ≤ 30分;定期的な演習。
- ブランド/ライセンスによるRLS/分離;地域ごとのキー/秘密。
15)赤旗(アンチパターン)
データベース内のプールサイズと支払いの手動編集。
idempotence→duplicateローンの欠如。
outbox/CDC→「lost」コントリビューション/トリガーなしでテレメトリーを発行します。
異なる地域のPIIと通貨データを混在させる。
新しい認定なしでベースゲームのRTPに影響を与えるジャックポット。
財布とプールの調和はありません。レポートは戦闘OLTPに基づいています。
Jackpot systems APIは、スタジオ、プラットフォーム、オペレータ間の通貨イベント契約です。その基礎:idempotenceおよびsagas、お金の厳密な分離、明確なでき事のスキーム、保証およびWORMの監査、observabilityおよびSLO。この設計では、修正/プログレッシブおよびネットワークプールのスケールは予測可能で、支払いは正しいままであり、規制およびビジネスレポートは透明性と信頼性があります。
