GH GambleHub

Event-Streaming we real-time maglumatlary

(Bölüm: Tehnologiýalar we infrastruktura)

Gysgaça gysgaça

"Event-Streaming" wakalary ýüze çykan pursatda gaýtadan işlemek we eltmekdir. iGaming üçin bu, stawkalara, goýumlara, antifrod signallaryna, jogapkär oýnuň çäklerine, ýaryş tablisalaryna we şahsy offerlere derrew reaksiýany aňladýar. Esasy kerpiçler: wakalaryň tekeri (Kafka/Pulsar), akym hereketlendirijisi (Flink/ksqlDB/Spark Structured Streaming), geleşik DB-den CDC (Debezium), onlaýn-ML we real-time analitikasy üçin Feature Store (materiallaşdyrylan pikirler, OLAP).

Bu iGaming-de möhüm

Antifrod & töwekgelçilik: <100-300 ms-de amallaryň skoringi, özüni alyp baryş nusgalarynyň korrelýasiýasy, petiklenmegi we güýçlenmegi.
Jogapkär oýun: çäklere gözegçilik etmek, ýitgileriň tizligi, anormal hereket - hakyky wagtda alertler we awto-çäklendirmeler.
Tölegler: status wannalary, webhooks PSP, smart-retry, balans proýeksiýalary, SLA "time-to-wallet".
Oýun çäreleri: ýaryşlaryň ýolbaşçylarynyň hasaplamasy (sliding windows), göni oýunlaryň tapgyrlary, CRM/marketing üçin hakyky wagt lentalary.
Şahsylaşdyrma: onlaýn fiçalar (RFM, propensity) → sekuntda trigger kampaniýalary, push/email.
Iş seljermesi: p95/p99 latency, huni ädimleriniň öwrülişigi, platformanyň saglyk signallary.

Binagärlik modelleri

Lambda vs Kappa

Lambda: batch (DWH/ETL) + streaming (operiw). Goşmaça - çeýeligi we "arzan" bal; minus - goşa logika.
Kappa: hemme zat magazineurnalyň akymyna meňzeýär (Kafka). Goşmaça - ýekeje kod, wakalaryň reigrasy; minus - infrastruktura talaplaryndan has berk.

Tejribe: möhüm real-time konturlary üçin - Kappa; hasabat/ML-okuw üçin - goşmaça batch-kontury.

Wakalaryň konweýeri (salgylanma)

1. Öndürijiler: stawkalar/tölegler hyzmatlary domen wakalaryny çap edýärler (outbox → Kafka).
2. Teker: Kafka ('player _ id', 'bet _ id').
3. CDC: Debezium ALTP-den (balanslar, çäkler) akymyna üýtgeşmeleri çykarýar.
4. Akym bejergisi: Flink/ksqlDB/Spark - agregasiýalar, penjireler, CEP, join's.
5. Proýeksiýalar: materiallaşdyrylan tablisalar (Kafka Streams state store/ksqlDB tables/Redis), OLAP (ClickHouse/Druid).
6. Sarp edijiler: antifrod, CRM, habarnamalar, dashbordlar, trigger işleri.

Maglumat şertnamalary we shemalary

Euro/Protobuf + Schema Registry: berk şertnamalar, backward-compatible migrasiýa.
Wersiýa: 'domain. event. v{n}`; bozýan üýtgetmeleri gadagan etmek.
PII: tokenizasiýa/şifrlemek, gizlemek, purpose limitation (GDPR).

Eltip bermegiň semantikleri we duýgudaşlygy

At-least-once - de-fakto standart (dublikatlar bolup biler) → hökmany idempotent-handling.
Akym boýunça "Exactly-once": Kafka + EOS geleşik öndürijileri Flink/Streams; has gymmat, nokady ulanyň (pul/balans).
Outbox + CDC: hyzmatyň DB-sinden ýeke-täk hakykat çeşmesi, goşa ýazuwdan goramak.
Dedup: Key ('idempotency _ key'), TTL bilen duplikasiýa tablisasy, upsert/merge.

Wagtlaýyn penjireler we "giç" maglumatlar

Penjireler:
  • Tumbling - kesgitlenen yuvalar (mysal üçin, bir minutlyk dolanyşyk).
  • Hopping - ädim bilen süýşmek (mysal üçin, ädim bilen penjire 5 minut 1 minut).
  • Session - hereketsizligi boýunça (oýunçynyň sessiýasy).
  • Watermarks: event-time boýunça gaýtadan işlemek, "giç" (lateness) kabul etmek, DLQ/side-output-a ewakuasiýa.
  • CEP (Complex Event Processing): "A soň 3 minutda B", "M sekuntda N waka", "ýatyrmak/öwezini dolmak" patternleri.

Ýagdaýy we ölçegi

Stateful operatorlary: agregasiýalar/joýnalar ýagdaýy saklaýarlar (RocksDB state backend).
Changelog topics: ygtybarlylyk we dikeldiş state.
Backpressure: tizligi awto-sazlamak, sistema/sink çäkleri.
Açarlary paýlamak: gyzgyn açarlar (heavy hitters) → key-salting, skew mitigation.

Gözegçilik we SLO

SLO akymy: p99 end-to-end latency (mysal üçin ≤ 2 s), rugsat berilýän ulanyjy lag, elýeterlilik ≥ 99. 9%.
Metrikler: throughput, lag partiýa, watermark delay, drop/late ratio, backpressure, busy time operator, GC/JVM.
Alertler: DLQ beýikligi, suw markynyň yza galmagy, EOS barlag nokatlarynyň şowsuzlyklary, onlaýn/awtonom şekilleriň iň soňkusy.
Söwda: prodýuser-akym-konsumer arkaly korelasiýa ID ('trace _ id', 'message _ id').

Howpsuzlyk we laýyklyk

TLS/MTLS, ACL/RBAC topiklere/tablisalara, duýgur domenleriň segmentasiýasy (tölegler/KUS).
Tranzitde/diskde PII şifrlemek; Vault/SOPS-da syrlar.
Data retention & locality: sebitler boýunça saklamak (EUB, Türkiýe, Latam), aýyrmak syýasaty.
Audit: kim çap etdi/okady, ssenarileriň gaýtalanmagy.

Ýokary elýeterlilik we DR

Kafka: `replication. factor ≥ 3`, `min. insync. replicas ',' acks = all ', DR üçin MM2.
Flink/Streams: gözegçilik edilýän goýberişler üçin wagtal-wagtal checkpoint + savepoint; HA-JobManager.
OLAP: segmentleriň köpelmegi, read replicas; failover (game day) synaglary.

Öndürijilik we sazlama

Öndürijiler: batching ('linger. ms`, `batch. size '), gysyş (lz4/zstd).
Konsumerler: dogry 'max. poll. interval ', arka gapda partiýa arakesmesi.
Partiýalaşdyrmak: maksatly TPS-den we parallelizmden partiýalaryň hasaby.
State: RocksDB options (block cache/write buffer), NVMe/IOPS, pinning.
Tor: 10/25G, TCP-sazlamak, n + 1 sink-haýyşlary saklamak.

Durmuşa geçirmek: esasy tehnologiýalar

Teker: Apache Kafka (alternatiwalar: Pulsar, Redpanda).
Akym bejergisi: Apache Flink, Kafka Streams, ksqlDB, Spark Structured Streaming.
CDC: Debezium (MySQL/Postgres), Outbox-konnektorlar.
Proýeksiýa ammarlary: ksqlDB tables, Kafka Streams state store, Redis for low latentity, ClickHouse/Druid/Pinot for OLAP.
Fichestor: Feast ýa-da öz - onlaýn (Redis) + oflayn (Parquet/BigQuery), yzygiderlilik kepilligi.

Dizaýn nusgalary

Outbox → Kafka: DB geleşiginden her bir domen hadysasy.
Saglar: wakalar arkaly öwezini dolmak; orkestr - akym.
Fan-out: bir waka → antifrod, CRM, analitika, bellikler.
Materialized Views: Liderbordlar, balans, çäkler - akymdan täzelenýän tablisalar görnüşinde.
Reprocessing: agregatlary/retro analitikleri sanamak üçin topikleri köpeltmek.

Mysallar (düşünjeler)

ksqlDB: ýaryş liderleri (süýşýän penjire)

sql
CREATE STREAM bets_src (
bet_id VARCHAR KEY,
player_id VARCHAR,
amount DOUBLE,
ts BIGINT
) WITH (KAFKA_TOPIC='bets. placed. v1', VALUE_FORMAT='AVRO', TIMESTAMP='ts');

CREATE TABLE leaderboard AS
SELECT player_id,
SUM(amount) AS total_stake,
WINDOWSTART AS win_start,
WINDOWEND  AS win_end
FROM bets_src
WINDOW HOPPING (SIZE 10 MINUTES, ADVANCE BY 1 MINUTE)
GROUP BY player_id
EMIT CHANGES;

Flink (psevdokod): late-events

java stream
.assignTimestampsAndWatermarks(WatermarkStrategy. forBoundedOutOfOrderness(Duration. ofSeconds(10)))
.keyBy(e -> e. playerId)
.window(SlidingEventTimeWindows. of(Time. minutes(5), Time. minutes(1)))
.aggregate(scoreFunction, processWindow)
.sideOutputLateData(lateTag)
.addSink(riskTopic);

Akym hilini barlamak

Shemalaryň we ewolýusiýanyň Contract-synaglary (Schema Registry).
Iş ýüki: maksatly TPS, p99, sink zaýalananda özüni alyp barşy.
"Failure/chaos": brokerleriň/düwünleriň ýykylmagy, toruň gijikdirilmegi, split-brain.
Deterministic replays: topikleri gaýtalamak → şol bir netijeler.
Kanary akymlary: gijikdirme we bitewiligi barlamagyň kontury.

Giriş barlagy

1. SLO (p99 E2E ≤ X c, lag ≤ Y, elýeterlilik ≥ Z).
2. Shemalary we açarlary standartlaşdyrmak (player_id/bet_id).
3. Arhitekturany saýla (möhüm konturlar üçin Kappa).
4. Outbox + CDC guruň we PII-ni izolirläň.
5. Penjireleri, watermark, late-policy we DLQ/side outputs.
6. Pul ýollarynda EOS/idempotentligi açyň.
7. lag, watermark, DLQ-e gözegçilik we alertleri giriziň.
8. HA/DR we reprocessing düzgünlerini üpjün etmek.
9. "Feature Store" -y we senkronizasiýany onlaýn/awtonom ýagdaýda ýerleşdiriň.
10. Game-day geçiriň: şowsuzlyklary we dikeldişleri düzüň.

Antipattern

Düşünjeli syýasat bolmazdan waka-wagt we processing-time garyşdyrmak.
Shema governance → "döwýän" neşirleriň ýoklugy.
Late data we "gyzgyn açarlary" äsgermezlik ediň.
Replay strategiýasynyň we topikleriň wersiýasynyň ýoklugy.
Idempotency we EOS bolmadyk nyrhlar/tölegler.

Netijeler

Hakyky wagt akymy "başga bir ulag" däl-de, pikir etmegiň usuly: domen wakalary, aýdyň SLO, maglumat şertnamalary, penjireler we ýagdaý, howpsuzlyk we gözegçilik. iGaming üçin durnukly toplum - Kafka + Flink/ksqlDB + Debezium + Materialized Views + Feature Store. Ol millisekundlyk reaksiýalary, onlaýn/awtonom analitikanyň sazlaşygyny we ýüküň köpelmeginde gözegçilik edilýän çylşyrymlylygy berýär.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.