Casino core arhitekturasy: gatlaklar, modullar, maglumat şinalary
Makalanyň doly teksti
1) Surat tutuşlygyna: casino core näme
"Casino core" - oýunçylaryň hasaba alynmagyny/kesgitlenmegini, puluň kabul edilmegini/saklanylmagyny, nyrhlaryň hasaplanylmagyny, bonus ykdysadyýetini, töwekgelçiliklere gözegçiligi we düzgünleşdirijiniň berjaý edilmegini üpjün edýän domen hyzmatlarynyň toplumy. Şemada ýokardan aşak:1. Edge gatlak (daşky perimetri): API-şlýuz, WAF/bot-gorag, rate limiting, servis-mesh ingress, geo/hukuk süzgüçleri.
2. Domain-слой (бизнес-логика): PAM, Wallet/Ledger, Bonus Engine, Cashier/PSP Orchestration, Game Sessions, Risk/Anti-Fraud, RG, Jackpot/Tournaments, Affiliates, CRM/Notifications, Compliance/Reporting.
3. Data/Integration-gatlak: Waka şinalary (Kafka/Pulsar), nobatlar (SQS/Rabbit), CDC/Outbox, ETL/ELT (BI penjirelerine), Aýratynlyk dükany/ML, keşler (Redis), OLTP BP D (Postgres/Oracle), OLAP (ClickHouse/BigQuery).
4. Observability & SecOps: metrics/tracing/logs, SIEM/SOAR, syrlar (Vault/HSM), açarlar we bellikler, RBAC/ABAC, audit log (WORM).
2) Domen modullary (iň az zerur düzümi)
2. 1 PAM (Player Account Management)
Hasaba almak/giriş, SSO, sessiýalary we enjamlary dolandyrmak, KBA/2FA.
Profil: ýaş/geo/walýuta/segmentler, RG/öz-özüni aýyrmak statuslary.
Çäklendirmeler: ýurisdiksiýa boýunça oýunlara girmek, gadagan etmek, "hakykat-barlaglar".
2. 2 Wallet/Ledger (pul kontury)
Köp walýuta hasaplary, goşa ýazgy (debit/credit), üýtgemeýän geçirimler.
Jedelleriň we ýeňişleriň atomar amallary (domen içinde idempotency keys, exactly-once).
Işjeň arkalar/tapgyrlar üçin holdlar; jekpotyň tranzit hasaplary.
Diňe buýruklar arkaly özara täsir etmek (command API), okamak - proýeksiýalar arkaly (CQRS).
2. 3 Cashier / PSP Orchestration
Geo/bin-diapazonlar/skoring boýunça tölegleriň routingi; ret edilende kaskadlamak.
3-DS/AVS/velocity-düzgünler; kartlary bellemek; kripto üçin on-/off-ramp.
SLO toplumy: awtorizasiýa ≤ 3c p95, goýumyň umumy üstünligi ≥ geoda 85%.
2. 4 Game Sessions (üpjün edijiler bilen integrasiýa)
Oýun sessiýalaryny döretmek (token handshake), ýurdy/walýutany/ýaşy tassyklamak.
Wakalar nyrh → netije → settlment teker boýunça gidýär; RNG we hasaplama - üpjün edijiniň tarapynda.
Anti-hyýanat: min bet, spin ýygylygy, "trikiň içinde" nominal bahanyň üýtgemeginiň gadagan edilmegi.
2. 5 Bonus Engine
Bonus steýtleri (issued/locked/active/forfeit), weyjer, oýunlar boýunça goşant, max bet/max cashout, möhletler.
Missiýalar/gözlegler, frispinler, nagt pul; ýaryşlar/jekpotlar bilen gabat gelmek.
Jedeliň pursatyndaky düzgünleriň berkligi; üýtgewsiz taryh.
2. 6 Risk / Anti-Fraud
Özüni alyp baryş signallary (nyrhlaryň tizligi, köp hasaplar, umumy enjamlar/kartlar).
Velocity düzgünleri, aragatnaşyklaryň grafiki barlaglary, chargeback defense.
Reaksiýalar: ýumşak (çäkler), gaty (AML-de blok/eskalasiýa).
2. 7 Responsible Gambling (RG)
Goýumlaryň/ýitgileriň/stawkalaryň/wagtyň çäkleri, taým-autlar, öz-özüni aýyrmak.
"Hakykat-barlaglar" we mejbury arakesmeler; ylalaşyklary we ýazgylary saklamak.
2. 8 Jackpots & Tournaments
Lokal/tor, fiks/progressiw; her stawka bilen paýly ýygym.
Jemgyýetçilik liderbordlary; netijeleriň garaşsyz barlagy; anti-bot.
2. 9 Affiliates & CRM
Tracking alt-ID, atributiýa (CPA/RevShare/Hybrid), postbeki.
Segmentasiýa, triggerler, suppression-düzgünler, omnikanal (push/e-mail/SMS).
2. 10 Compliance & Reporting
Düzgünleşdiriji ýüklemeler, salgyt hasabatlary, SAR/STR; WORM audit-log.
Ýurisdiksiýalar boýunça data residency (EU/UK/BR we ş.m.).
3) Waka modeli we maglumat şinalary
3. 1 Esasy topikler (Kafka-neýming mysaly)
`player. registered`, `player. kyc. status. changed`- `wallet. debit. requested/committed/failed`, `wallet. credit.`
- `game. session. started/ended`, `bet. placed`, `bet. settled`
- `bonus. issued/consumed/forfeited`, `wager. progress. updated`
- `rg. limit. hit`, `rg. timeout. started/ended`
- `cashier. deposit. requested/succeeded/failed`, `withdrawal. requested/sent`
- `risk. alert. raised/closed`, `aml. case. opened`
- `jackpot. contribution/triggered`, `tournament. score. updated`
Şertnamalar: Euro/JSON Schema + Schema Registry, versioning (backward compatible), berk idempotentlik açarlary.
3. 2 Waka şablony (ýönekeýleşdirilen)
json
{
"event_id": "uuid",  "event_type": "bet. settled",  "occurred_at": "2025-10-23T16:09:12Z",  "tenant_id": "brand-1",  "player_id": "p_123",  "session_id": "s_456",  "trace_id": "t_abc",  "payload": {
"game_id": "provider:slot_777",   "bet_amount": {"amount": 2. 00, "currency": "EUR"},   "win_amount": {"amount": 36. 40, "currency": "EUR"},   "bonus_impacted": true
}
}Düzgün: wakalar - üýtgemez; düzedişler - aýry-aýry öwezini dolýan wakalar bilen.
3. 3 Outbox & CDC
Domain amallarynyň hemmesi wakany şol bir DB-de outbox-a ýazýar → fon köpçüligi tekere iberýär.
CDC (Debezium we analoglar) - OLTP ýüklenmezden DWH-de ikinji akymlar üçin.
4) Yzygiderlilik, saga we idempotentlik
Uzyn amallar üçin saglar (goýum/kesşaut, tassyklama, ýaryş baýraklary).
Ähli toparlaryň idempotenti: 'Idempotency-Key' + hyzmat tarapynda duplikasiýa.
Ylalaşygyň strategiýasy: gapjykda - berk (ACID), galanlary - eventual (proýeksiýalar arkaly).
Kompensasiýa: aýry-aýry domen wakalary, ledjerde "el bilen düzedişleri" gadagan etmek.
5) Maglumatlar: OLTP/OLAP, nagt pullar, proýeksiýalar
ALTP: Gapjyk, PAM, bonuslar üçin Postgres/Oracle (p95 <150 ms).
Keshler: Sessiýalar, çäkler, liderbordlaryň gyzgyn proýeksiýalary üçin Redis.
OLAP: ClickHouse/BigQuery — витрины KPI (FTD, NGR, ARPPU, Retention, LTV, Wager progress, Risk flags).
Proýeksiýalar (CQRS): oýunçylar/amallar boýunça çalt gözleg (<2s), RG paneliniň hakyky wagty/töwekgelçilik.
6) Töleg orkestri: has jikme-jik
Routing düzgünleri: geo, BIN, töwekgelçilik-skor, ýük, bahasy.
Kaskad: PSP1 → PSP2 sebedi ýitirmezden; eksponensial arakesme bilen retralar.
Deňeşdirmeler: gündelik hasabatlar PSP → gapjyk sanawy; awto-gapma-garşylyklar → biletler.
7) Oýun üpjün edijiler bilen integrasiýa
Gateway-pattern: Ýeke-täk Game API, walýuta/fiç mapping, degradasiýa bilen saglyk barlagy.
Settlment: üpjün edijiniň gelen kolbeki → wallet domen buýrugy. idempotentlik açary bilen settle.
Bloklamak: iň az; jedel/ýeňiş - simleriň atom jübüti.
8) Synlamak we SLO
Метрики: p95/p99 latency per service, error rate, saturation, business KPIs (bets/min, settle lag, deposit success).
Tracking: trace_id (edge → domen → teker → konsumerler).
Loglar: gurluşly, redaktirlenen PII.
SLO minimum:- Ýadro aptaimi ≥ 99,95%
- p95 gapjyk <150 ms
- Ýitirilen/köpeldilen settlementler = 0
- Wakalaryň gijikdirilen wagty BI <5 min
9) Howpsuzlyk we laýyklyk
Zero-trust: Mesh içindäki mTLS, gysga ömürli tokenler, RBAC/ABAC, iň pes hukuklar ýörelgesi.
Syrlar: Vault/HSM, açar aýlawy, "at rest" maglumatlary KMS-şifrlemek.
PCI DSS/GDPR/ýerli analoglary: gurşaw segmentasiýasy, PAN, DLP tokenizasiýasy, Giriş Journal (WORM).
WAF/bot goragy: özüni alyp barşyň signallary boýunça süzgüçler, device-fingerprinting.
Data residency: sebitler boýunça şardlamak; sebitleýin PII-ni gadagan etmek.
10) Elýeterlilik, DR we çykaryş wersiýasy
Sebitler boýunça aktiw-aktiw/aktiw-passiw; RPO ≤ 5 minut, RTO ≤ 30 minut.
Kanar relizleri/feature-baýdaklar, gaýdyşlar; DB migrasiýalary - ghost/ikinji derejeli indeksler arkaly.
Bulam-bujarlyk: zaýalanmagy barlamak üçin ulgamlaryň/PSP/üpjün edijileriň yzygiderli feýlleri.
11) Shemalary we maglumatlaryň hilini dolandyrmak
Data contracts: wakalaryň wersiýasy (semver), prodýuserleriň/konsumerleriň şertnama synaglary.
Goverance: maglumat katalogy (data catalog), çeşmelere bolan ynam derejesi, penjireleri täzelemek SLA.
Hil: duplikasiýa, giç wakalar (late arrivals), OLAP-daky idempotent upserts.
12) Rollar we elýeterlilik (Back-office)
RBAC: anyk rollar (maliýe, töwekgelçilik, sapport, marketing, laýyklyk).
Kritiki hereketler: "4 göz" tassyklamasy, üýtgemeýän amallaryň žurnaly.
PII ekran: gizlemek; doly elýeterlilik - haýyşnama/wagtlaýyn bellikler boýunça.
13) Casino core kämillik ölçegleri (öz-özüne baha bermek)
1. Ygtybarlylyk: Gapjygyň/kassalaryň/sessiýalaryň SLO-lary günüň 99% ≥ ýerine ýetirilýär.
2. Maglumatlar: wakalar BI ≤ 5 minuta düşýär; ledgers vs PSP-iň yzygiderliligi ≥ 99,99%.
3. Bonuslar: DB düzedişleri bolmazdan düzgünleriň dizaýneri; üýtgetmeleriň barlagy.
4. RG/AML: hakyky wagt signallary; hasabatlar/düşürmeler awtomatlaşdyryldy.
5. Wakalar: MTTR <30 min; postmortemler kompaniýanyň içinde köpçülige aýan edilýär.
6. Synag: şertnama, ýük, bulam-bujarlyk synaglary; üpjün edijileriň/PSP synag gutulary.
14) Binagärlik auditorynyň çek-sanawy
- outbox/CDC bar, waka geleşik bilen atomiki çap edilýär.
- Dolandyryjy üýtgewsiz geçiriş kitaby hökmünde amala aşyryldy; PSP bilen deňeşdirme bar.
- Teamshli toparlar idempotent; açarlarda duplikasiýa bar.
- ALTP we OLAP bölünýär; proýeksiýalar söweş DB-ni urmaýar.
- RG-çäkleri stawka wagtynda sinhron ulanylýar; reality-check hökmany.
- Game gateway wakalar ýüze çykan halatynda read-only/" no new sessions" -e çenli pese gaçýar.
- DR-meýilnama yzygiderli ýerine ýetirilýär; bekaplar dikeldiş arkaly barlanýar.
- Açarlar/syrlar we olaryň aýlanyş syýasaty resminamalaşdyrylýar.
- Compliance-hasabatlary awtomatiki usulda ýygnalýar (Excel-el zähmeti bolmazdan).
- Audit ýazgylary - WORM, iň az hukuklar ýörelgesine laýyklykda giriş.
15) Anti-pattern ("gyzyl baýdaklar")
DB-de balanslary we bonuslary el bilen düzetmek.
Jemgyýetçilik we hususy API-leriň garyşmagy, API-şlýuzyň ýoklugy.
Domen amallaryny "aýlanyp" geçiriň (outbox arkaly däl).
Monolit gapjyk we idempotentlik bolmazdan bonuslar we sag.
Söweş shemasy boýunça "hemme zat üçin" bitewi DB + BI-soraglar.
Wakalaryň wersiýasynyň we şertnama synaglarynyň ýoklugy.
Bonuslaryň we ýaryş formulalarynyň düzgünlerini üýtgetmegiň sanawy ýok.
Kaskadsyz tölegden ýüz öwürmek; Strategiýa hökmünde "soň synap görüň".
Gutudan RG gurallary ýok; ynanmak üçin ygtyýarnama.
"Casino core" - pul we jogapkärçilik ilkinji bolup durýan, hukuklary boýunça berk çäklendirilen "hyzmatlar ulgamy". Güýçli arhitektura üç sütüne esaslanýar:
1. Puluň berk bitewiligi (ledger, idempotentlik, saglar, outbox/CDC) 2. Wakalar we gözegçilik etmek (şertnamalar, ýollar, SLO, BI-vitrinler) 3. Howpsuzlyk we takyklyk (zero-trust, PCI/GDPR, RG/AML).
Bu esaslary gurup, operator esasy zat - oýunçylaryň pullary we markanyň abraýy üçin töwekgelçiliksiz mazmuny, bonus ykdysadyýetini we marketingini giňeldýär.
