リアルタイム信号処理
1)目的と事業価値
リアルタイムストリームは「here and now」に対応するために必要です:- Antifraud/AML:沈殿物の構造化「、mulling」、速度攻撃。
- 責任あるゲーム(RG):限界を超え、行動のリスクパターン。
- リスク/コンプライアンス:オンライン登録/トランザクション制裁審査。
- パーソナライゼーション:ボーナス/ミッショントリガー、リアクティブキャンペーン。
- 操作/SRE: SLAの劣化、エラーのフラリ、メトリクスの異常。
主な目的:低遅延(p95 0。5-5 s)、高い完全性(≥ 99。5%)、サージ抵抗。
2)シグナルタクソノミ
トランザクション:'支払い。デポジット/出金/チャージバック'。
ゲーム:'ゲーム。ベット/ペイアウト'、'ゲーム。 。 。
認証:'auth。 login/failure'、 device change/geo。
行動:賭けの割合、量の指数関数的な成長、夜間活動。
手術室:'api。待ち時間'、'エラー。rate'、ハースの「嵐」が再起動します。
各タイプには、スキーマ、ドメイン所有者、重要性、SLO、および後期データルールがあります。
3)リアルタイムループ参照アーキテクチャ
1.受信とバス:HTTP/gRPC→Edge→Kafka/Redpanda ('user_id/tenant'でパーティション化)。
2.ストリーミング-движок:フリンク/スパーク構造ストリーミング/ビーム;ステートフルなステートメント、CEP。
3.オンライン濃縮:ルックアップテーブル(Redis/Scylla/ClickHouse Read-Only)、プロバイダキャッシュ(制裁/CUS)。
- 警告トピック/キュー(ケース管理、SOAR)。
- Fichestorオンライン(スコアリングモデル)。
- ゴールドストリームショーケース(運用ダッシュボード)。
- 速い分析のための「暖かい」貯蔵(ClickHouse/Pinot/Druid)。
- 5.アーカイブ/フォレンジック:湖の不変の折りたたみ(寄木細工、タイムトラベル)。
- 6.観測性:トレース/メトリクス/ログ+リネージ。
4) Windows、透かし、および「遅延データ」
ウィンドウビュー:- タンブリング:固定ウィンドウ(例:1分)-単純な集計。
- ホッピング:重なり合う(例:ステップ30 s、ウィンドウ2分)-「スムーズ」メトリクス。
- セッション:不活性ギャップ-行動分析。
- 透かし:イベント時の「時間の知識」境界;遅延を許可する(例:2分)。
- 遅延戦略:調整の追加の問題、postscript 「late=true」、 DLQ。
5)ステートフルなステートメントと重複除外
キー:'user_id'、 'paymentによって。account_id'、 'device_id'。
ステータス:adders、スライドカウンタ、idempotency用のbloomフィルタ。
Dedup: state/kvに'(event_id、 seen_at)'を格納する。TTL=24-72時間。
正確に一度:トランザクションシンク'と(2フェーズ)、idempotent upsert操作。
6)ストリーム濃縮
ルックアップの喜び:RG制限、ユーザーリスクレート、KYCレベル、geo/ASN。
非同期呼び出し:制裁レジストリ/不正防止プロバイダ(非同期I/O、タイムアウトおよびフォールバック)。
通貨正規化/タイムゾーン:UTCと基本通貨への統一;'fx_source'を修正しました。
7) CEP: 複雑なパターンの検出
ルールの例:- 構成:デポジット≥ 3(10分間)、各<レポートしきい値、合計>X。
- デバイススイッチ:15分+IP/ASNの変更で3つの異なるデバイス。
- RG疲労:1時間の合計ベット>制限+損失≥ Y。
- Ops-storm: p95 latency> 2 × base、 5xx> 3% in 5-minウィンドウ。
CEPはFlink CEP/SQLまたはイベントテンプレートライブラリで便利に表現されます。
8)オンライン特徴およびモデル
フィーチャーパイプライン:カウンタ、ベロシティメトリクス、「最後のイベントからの時間」、シェアオブウォレット。
オンライン/オフラインの整合性:1つの変換コードベース;過渡性試験。
スコアリング:ライトモデル(logit/GBDT)同期。ヘビー-キューを介して非同期。
ドリフト制御:PSI/KSおよび警報;新しいモデルのための「暗い進水」。
9)配達保証およびプロシージャ
レセプションでタイヤ+idempotencyの少なくとも1回。
キー分割はローカルオーダーを提供します。
Retries&backpressure:ジッタ付き指数関数型リトレイ、自動圧力制御。
10) SLO/SLI(推薦される)
11)リアルタイム輪郭の観察可能性
パイプラインメトリクス:スループット、パーティションあたりの遅延、ビジータイム、チェックポイント期間。
信号品質:完全性、重複率、遅延比。
ダッシュボード:トピック別のラグのヒートマップ、アラートファネル(sobytiye→pravilo→keys)、ホットキーマップ。
トレース:アラートをイベントの開始に関連付けます(trace_id)。
12)セキュリティとプライバシー
PII最小化:識別子のトークン化、機密フィールドのマスキング。
ジオレジデンシー:地域コンベア(EEA/UK/BR)。
監査:変更不能な意思決定ログ(誰、何、なぜ)、ケースの法的保持。
アクセス:ルール/モデルへのRBAC、キックアウトのダブルコントロール。
13)コストとパフォーマンス
ホットキー:再配布(キー塩化)、複合キー。
条件:適度なTTL、 incremental materialization、 RocksDBチューニング。
Windows:最適なサイズと許容遅延;「騒々しい」ストリームのための事前集約層。
サンプリング:非クリティカルなフローとメトリックレベルで(トランザクション/コンプライアンスではありません)。
14)例(簡略化)
Flink SQL-構造化デポジット(10分ウィンドウ、ステップ1分):sql
CREATE VIEW deposits AS
SELECT user_id, amount, ts
FROM kafka_deposits
MATCH_RECOGNIZE (
PARTITION BY user_id
ORDER BY ts
MEASURES
FIRST(A. ts) AS start_ts,
SUM(A. amount) AS total_amt,
COUNT() AS cnt
ONE ROW PER MATCH
AFTER MATCH SKIP PAST LAST ROW
PATTERN (A{3,})
WITHIN INTERVAL '10' MINUTE
) MR
WHERE total_amt > 500 AND cnt >= 3;
入札による反速度の擬似コード:
python key = event. user_id window = sliding(minutes=5, step=30) # hopping window count = state. counter(key, window)
sum_amt = state. sum(key, window)
if count > 30 or sum_amt > THRESH:
emit_alert("RG_VELOCITY", key, snapshot(state))
カフカストリームevent_id:
java if (!kvStore.putIfAbsent(event. getId(), now())) {
forward(event); // unseen -> process
}
15)プロセスとRACI
R(責任ある):ストリーミングプラットフォーム(情報、ステータス、リリース)、ドメイン分析(ルール/機能)。
A(説明責任):そのドメインによるデータ/リスク/コンプライアンス責任者。
C(コンサルテッド):DPO/Legal (PII/retention)、 SRE (SLO/インシデント)、 Architecture。
I (Informed):製品/サポート/マーケティング。
16)実装ロードマップ
MVP (2-4週):1.2-3クリティカル信号(例:支払いだよ。デポジット'、'auth。ログイン'、'ゲーム。ベット')。
2.Kafka+Flinkの基本的なdedupおよび透かし;詐欺防止のための1つのCEPルールとRGのための1。
3.ClickHouse/Pinot(クリックハウス/ピノ)ダッシュボードの遅延/完全性。
4.インシデントチャンネル(Webhook/Jira)と手動トリアージ。
フェーズ2(4-8週間):- オンラインfichestor、スコアリングライトモデル;非同期検索(制裁/CCL)
- コード、カナリアロール、A/Bルールとしてのルール管理。
- 地域化とPIIコントロール、ケースの法的保持。
- シグナルカタログ、ドキュメントの自動生成、リプレイ&what-ifシミュレータ。
- しきい値(ベイズ/クオンタイル)の自動キャリブレーション、オンラインでの精度/リコール指標。
- DR-exercises、マルチリージョンアクティブ、チャージバックモデルbyコマンド。
17)販売の前の質のチェックリスト
- スキームと契約、ingestでの検証。
- 設定されたWindows、透かし、許可された遅延+DLQ。
- Dedupとidempotent sink 'i。
- 遅延/スループット/ステートサイズメトリック、SLOアラート。
- セキュリティ:ルール/モデルのRBAC、 PIIマスキング。
- ドキュメント:所有者、SLO、例、依存関係マップ。
- ロールバック手順とフリーズ・ボタン。
18)頻繁なミスとそれらを回避する方法
イベントタイムを無視:透かしを使用します。そうでなければ、メトリックは「スライド」します。
重複排除なし-重複すると、偽のアラート→タイプのidempotencyが生成されます。
ホットキー:パーティーの歪み→塩漬け/resharding。
Windowsが難しすぎる:遅延→遅延+是正排出を許可しました。
PIIブレンド:個別のトークン化と分析フロー。
シミュレータなし:ロールアウトする前に「リプレイ」でルールをテストします。
19)用語集(短い)
CEP-複雑なイベント処理、パターン検出。
透かし-ウィンドウの準備時間のしきい値。
許可された遅延-遅いイベントの入場。
Stateful Operatorは永続演算子です。
Feature Store-MLのオンライン/オフライン特性を保存します。
20)ボトムライン
リアルタイム信号処理は、明確な回路、窓と透かし、ステートフルロジック、オンラインエンリッチメント、および厳格なSLOを備えた制御パイプラインです。これらの慣行に従うことで、迅速で信頼性の高いリスク検出器、持続可能なパーソナライゼーショントリガー、およびコンパクトに拡張する運用ダッシュボードが得られます。