Gerçek zamanlı sinyal işleme
1) Amaç ve iş değeri
"Burada ve şimdi" yanıt vermek için gerçek zamanlı bir akışa ihtiyaç vardır:- Antifraud/AML: birikintilerin yapılandırılması, "mulling", hız saldırıları.
- Sorumlu Oyun (RG): Sınırları aşmak, risk davranış kalıpları.
- Risk/Uyumluluk: Online kayıt/işlem yaptırım taraması.
- Kişiselleştirme: Bonus/görev tetikleyicileri, reaktif kampanyalar.
- İşlemler/SRE: SLA bozulması, hata telaşı, metriklerin anormallikleri.
Temel hedefler: düşük gecikme süresi (p95 0. 5-5 s), yüksek bütünlük (≥99. %5), dalgalanma direnci.
2) Sinyal taksonomisi
İşlem: 'ödeme. Para yatırma/çekme/ters ibraz '.
Oyun: 'oyun. Bahis/ödeme ',' oyunu. session_start/stop'.
Kimlik doğrulama: 'auth. login/failure', cihaz değişikliği/geo.
Davranışsal: bahis oranı, miktarın üstel büyümesi, gece aktivitesi.
Ameliyathaneler: 'api. Gecikme ',' hatası. rate ', ocağın "fırtınası" yeniden başlar.
Her türün bir şeması, etki alanı sahibi, kritiklik, SLO ve geç veri kuralları vardır.
3) Gerçek zamanlı döngü referans mimarisi
1. Ingest ve bus: HTTP/gRPC> Edge> Kafka/Redpanda ('user _ id/tenant'ile bölümleme).
2. Akış- движок: Flink/Kıvılcım Yapılandırılmış Akış/Işın; stateful ifadeler, CEP.
3. Çevrimiçi zenginleştirme: arama tabloları (Redis/Scylla/ClickHouse Salt Okunur), sağlayıcı önbelleği (yaptırımlar/CUS).
- Uyarı konuları/işaret (vaka yönetimi, SOAR).
- Fichestor çevrimiçi (puanlama modelleri).
- Altın akışı vitrinleri (operasyonel gösterge panoları).
- Hızlı analitik için "sıcak" depolama (ClickHouse/Pinot/Druid).
- 5. Arşiv/adli tıp: Gölde değişmez katlama (Parke, zaman yolculuğu).
- 6. Gözlemlenebilirlik: izleme/metrikler/günlükler + soy.
4) Windows, filigranlar ve "geç veriler"
Pencere görünümleri:- Yuvarlanma: sabit pencereler (örn. 1 dk) - basit agregalar.
- Atlamalı: çakışan (örn. Adım 30 s, pencere 2 dakika) - "pürüzsüz" metrikler.
- Oturum: hareketsizlik boşlukları - davranış analizi.
- Filigranlar: olay zamanı için "zaman bilgisi" sınırı; Gecikmeye izin vermek (örn. 2 dk.).
- Gecikmiş stratejiler: ek ayarlamalar, postscript "late = true", DLQ.
5) Durum bilgisi içeren ifadeler ve veri tekilleştirme
Anahtar: 'user _ id', 'ödeme'ile. account_id', 'device _ id'.
Durum: ekleyiciler, sürgülü sayaçlar, idempotency için çiçek filtreleri.
Dedup: '(event_id, seen_at)' durumunu/kv; TTL = 24-72 saat.
Tam olarak bir kez: işlemsel lavabo've (2 fazlı), idempotent uppert işlemleri.
6) Akış zenginleştirme
Arama sevinçleri: RG limitleri, kullanıcı risk oranı, KYC seviyesi, geo/ASN.
Asenkron aramalar: yaptırımlar kayıt defteri/dolandırıcılık karşıtı sağlayıcılar (async I/O, zaman aşımları ve geri dönüş).
Para birimi normalleştirme/zaman dilimi: UTC ve temel para birimine birleşme; fix 'fx _ source'.
7) CEP: karmaşık desenleri algılama
Kural örnekleri:- Yapılandırma: 10 dakika boyunca depozito ≥3, her biri
X. - Cihaz anahtarı: 15 dakika içinde 3 farklı cihaz + IP/ASN değişimi.
- RG-yorgunluk: 1 saat için toplam bahis> limit + kayıp ≥ Y.
- Ops-storm: p95 gecikme> 2 × taban, 5xx> 3 % in 5-min pencere.
CEP, Flink CEP/SQL veya olay şablonu kitaplıklarında rahatça ifade edilir.
8) Çevrimiçi özellikler ve modeller
Özellik boru hatları: sayaçlar, hız-metrikler, "son olaydan bu yana geçen süre", cüzdan paylaşımı.
Çevrimiçi/çevrimdışı tutarlılık: bir dönüşüm kod tabanı; geçicilik testleri.
Puanlama: hafif modeller (logit/GBDT) eşzamanlı olarak; ağır - sıra boyunca eşzamansız olarak.
Drift kontrolü: PSI/KS ve uyarılar; Yeni modeller için "karanlık lansmanlar".
9) Teslimat garantileri ve prosedürü
En az bir kez lastik + resepsiyonda idempotency.
Anahtar bölümleme yerel bir düzen sağlar.
Yeniden çalışır ve geri basınç: jitter, otomatik basınç kontrolü ile üstel retrays.
10) SLO/SLI (önerilir)
11) Gerçek zamanlı konturun gözlemlenebilirliği
Boru hattı metrikleri: iş hacmi, bölüm başına gecikme, yoğun zaman, kontrol noktası süresi.
Sinyal kalitesi: tamlık, çoğaltma oranı, geç oran.
Panolar: konuya göre gecikmelerin ısı haritası, uyarı hunisi (sobytiye ^ pravilo ^ tuşları), sıcak tuş haritası.
İzleme: uyarıyı başlatma olaylarıyla ilişkilendirme (trace_id).
12) Güvenlik ve gizlilik
PII minimizasyonu: tanımlayıcıların tokenizasyonu, hassas alanların maskelenmesi.
Jeo-ikamet: bölgesel konveyörler (EEA/İngiltere/BR).
Denetim: Değiştirilemez karar günlükleri (kim, ne, neden), davalar için Yasal Bekletme.
Erişim: Kurallara/modellere RBAC, kickoutlarda çift kontrol.
13) Maliyet ve performans
Kısayol tuşları: yeniden dağıtım (anahtar tuzlama), kompozit tuşlar.
Durum: makul TTL, artımlı materyalizasyon, RocksDB ayarı.
Windows: optimum boyut ve izin verilen gecikme; "Gürültülü" akışlar için toplama öncesi katmanlar.
Örnekleme: kritik olmayan akışlarda ve metrik seviyede (işlemlerde/uyumlulukta değil).
14) Örnekler (basitleştirilmiş)
Flink SQL - yapılandırılmış mevduat (10 dk pencere, adım 1 dk):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;
Teklife göre anti-hız sözde kodu:
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))
Kafka Streams event_id:
java if (!kvStore.putIfAbsent(event. getId(), now())) {
forward(event); // unseen -> process
}
15) Süreçler ve RACI
R (Sorumlu): Akış Platformu (bilgi, durum, sürümler), Domain Analytics (kurallar/özellikler).
A (Sorumlu): Etki alanlarına göre Veri/Risk/Uyum Başkanı.
C (Consulted): DPO/Legal (PII/retention), SRE (SLO/Incidents), Mimarlık.
I (Bilgilendirilmiş): Ürün/Destek/Pazarlama.
16) Uygulama Yol Haritası
MVP (2-4 hafta):1. 2-3 kritik sinyal (örn. 'ödeme. depozito ',' auth. login ',' oyunu. bet ').
2. Kafka + Flink, temel dedup ve filigran; Anti-dolandırıcılık için bir CEP kuralı ve bir RG için.
3. Operasyonel vitrinler için ClickHouse/Pinot; Panolar lag/completeness.
4. Olay kanalı (webhook/Jira) ve manuel triyaj.
Faz 2 (4-8 hafta):- Online fichestor, skorlama ışık modelleri; Asenkron aramalar (yaptırımlar/CCL).
- Kural yönetimi, kanarya ruloları, A/B kuralları.
- Bölgeselleştirme ve PII kontrolleri, davalar için Yasal Bekletme.
- Sinyal kataloğu, otomatik dokümantasyon üretimi, tekrar oynatma ve eğer simülatör.
- Eşiklerin otomatik kalibrasyonu (Bayesian/quantile), çevrimiçi hassasiyet/hatırlama metrikleri.
- DR-egzersizleri, çok bölgeli aktif-aktif, komuta göre ters ibraz modelleri.
17) Satıştan önce kalite kontrol listesi
- Şemalar ve sözleşmeler, yutmada doğrulama.
- Windows yapılandırılmış, filigranlar, izin verilen gecikme + DLQ.
- Dedup ve idempotent lavabo'i.
- Lag/throughput/state size metrics, SLO uyarıları.
- Güvenlik: Kurallar/modeller üzerinde RBAC, PII maskeleme.
- Dokümantasyon: sahip, SLO, örnekler, bağımlılık haritaları.
- Geri alma prosedürleri ve friz düğmesi.
18) Sık yapılan hatalar ve bunlardan nasıl kaçınılacağı
Olay zamanını dikkate almayın: filigran kullanın, aksi takdirde metrikler "kayar".
Veri tekilleştirme yok - kopyalar yanlış uyarılar üretecektir - tip idempotency.
Kısayol tuşları: partilerin bozulması - tuzlama/yeniden şekillendirme.
Windows çok zor: geç kaybı - geç izin + düzeltici emisyonlar.
PII harmanlama: Ayrı tokenizasyon ve analitik akış.
Simülatör yok: Yayılmadan önce bir "yeniden oynatma" üzerinde test kuralları.
19) Sözlük (kısa)
CEP - Karmaşık Olay İşleme, desen algılama.
Filigran - pencere hazırlığı için zaman eşiği.
İzin verilen Gecikme - geç olayların kabulü.
Stateful Operator kalıcı bir operatördür.
Feature Store - ML için çevrimiçi/çevrimdışı özelliklerin depolanması.
20) Alt satır
Gerçek zamanlı sinyal işleme, açık devreler, pencereler ve filigranlar, durumsal mantık, çevrimiçi zenginleştirme ve sıkı SLO'lar ile kontrollü bir boru hattıdır. Bu uygulamaları takip ederek, hızlı ve güvenilir risk dedektörleri, sürdürülebilir kişiselleştirme tetikleyicileri ve dikkatli ve uyumlu bir şekilde ölçeklenen operasyonel gösterge tabloları elde edersiniz.