Casino backend arhitekturasy nähili işleýär
1) Tutuş surat: domenler we maglumat akymlary
Esasy domenler:- Identity & Accounts - hasaba almak, tassyklamak, rollar, enjamlar, sessiýalar.
- Wallet & Ledger - pul hasaplary, bonus gapjyklar, amallar, ledger (append-only).
- Gaming & Bets - oýunlaryň sessiýalary, nyrhlar, tapgyrlar, netijeleri hasaplamak, integrasiýa (RNG/Live/Crash we ş.m.).
- Bonuses & Promotions - frispinler, nagt pul, talonlar, wagering (oýnamak), zaýalanmaga garşy.
- Payments (Cashier) - on-rampa/off-rampa: kartlar, APM, kripto/stabilkoinler, KYC-baglanyşyk.
- KYC/AML/KYT & RG - şahsyýeti/salgyny/girdejini barlamak, amallary, çäkleri we wagtyny barlamak.
- Töwekgelçilik & Compliance - stawkalaryň/tölegleriň çäkleri, sanksiýalar sanawlary, geo-bloking, audit.
- Catalog & Lobby - üpjün edijileriň, oýunlaryň, kategoriýalaryň, çäkleriň sanawy; A/B wariantlary.
- Hasabat & BI - P&L, GGR/NGR, saklamak, oýunçynyň ömri, affiliates.
- Observability & Ops - loglar, metrikler, yzarlamalar, alertler, frod signallary.
Orkestrasiýa: häzirki zaman platformasy gurulýar event-driven: hyzmatlar teker arkaly wakalar bilen alyş-çalyş eder (Kafka/NATS), möhüm amallar linearizasiýa edilýär (gapjyk/ledger), gapdal kiçi ulgamlara gol çekilýär we asinhron reaksiýa bildirilýär (bonuslar, BI, habarnamalar).
2) Gatlak model
Edge gatlak: API-şlýuz, WAF/bot-gorag, rate limits, geo/IP-süzgüçler, feature-baýdaklar.
Hyzmat gatlagy: domen boýunça özbaşdak mikroservisler; sinhron şertnamalar - diňe derrew yzygiderlilik zerur bolan ýerlerde (mysal üçin, jedel wagtynda gapjygyň debeti).
Wakalaryň şinasy: Esasy iş wakalary ('bet. placed`, `round. settled`, `bonus. issued`, `kyc. verified`, `payout. requested`).
Maglumatlar: Amallar üçin ALTP (Postgres/MySQL); Sessiýalar/çäkler üçin KV/Cache (Redis); loglar we eksport üçin obýekt ammary (S3); Analitika üçin OLAP (ClickHouse/BigQuery).
3) Gapjyk we dolandyryjy: platformanyň ýüregi
Ýörelgeler:- Append-only legger: her bir maliýe amaly - görnüşi, mukdary, walýutasy, çeşmesine salgylanmasy (stawka, bonus, goýum) bolan ýazgy.
- Pul we bonus balanslary dargadyldy. Pul bilen bonuslary "garyşdyryp" bolmaz; serişde çeşmeleriniň syýasaty ulanylýar.
- Atomarlyk debet → karz: stawka = pul ýa-da bonus gapjygynyň debeti + hold döretmek; tapgyryň hasaplamasy hold çykarýar we netije boýunça karz/debet edýär.
- `LEDGER: HOLD` (−10. 00 EUR, source: cash, ref: betId)
- `LEDGER: SETTLE_DEBIT` (−10. 00 EUR) + `LEDGER: PAYOUT` (+36. 00 EUR) - WIN bolsa
- `LEDGER: HOLD_RELEASE` (+10. 00 EUR) - eger VOID/PUSH
- Idempotent amallary ('requestId' boýunça idempotentlik açarlary).
- Ýaryşlardan goramak üçin balansyň wersiýasy (optimistic locking).
- Hasaplaşygyň anyk walýutasy we konwersiýa wagtynda hümmetleriň kesgitlenmegi.
4) Oýun üpjün edijiler bilen integrasiýa
Gapjyk nusgalary:- Seamless - operatoryň balansy; nyrh/hasaplaşyk hakyky wagtda biziň API-lerimizden geçýär.
- Transfer - üpjün edijiniň oýun bankyna goýumy; has köp sürtülmek, ýöne aşakda gapjygyň dermanhanasyna bolan talap.
- `bet. place '→ gapjykda pre-auth (hold) →' accepted/rejected '.
- `round. Üpjün edijiden settle '(webhook/WS) → ledjerde settle → teker hadysasy → hasabat/bonuslar.
Bridge arkaly standartlaşdyrmak: wakalaryň ýeke-täk shemalary we identifikatorlary 'roundId/betId', limitleriň we side-bets mapping tablisasy, ýalňyşlyklaryň kadalaşmagy.
5) Bonuslar, wagering we hyýanatçylyga garşy
Modeller: depozit bonuslary, frispinler, yzyna gaýtarmalar (cashback), missiýalar, ýaryşlar.
Wagering: oýnuň ösüşi aýratyn saklanýar; "Haýsy nyrhlar hasaplanýar" düzgüni (oýunlaryň kategoriýalary boýunça göterimler).
Hasapdan çykarmagyň yzygiderliligi: ilki bonus serişdeleri, soň hakyky - ýa-da tersine, berk syýasat boýunça.
Oýunçynyň anti-patternleri: ters netijelere jedeller, ösüş farmasy üçin iň pes nyrhlar, dürli agramly oýunlaryň arasynda geçirmek - düzgünler we skoring bilen tutulýar.
6) KYC/AML/KYT и Responsible Gaming (RG)
KYC: ID/salgyny/ýaşyny barlamak; statuslar çäkleri dolandyrýar (deposit/withdraw/betMax).
AML/KYT: töleg kanallarynyň we on-chain salgylarynyň (kripto üçin) skrininingi, sanksiýalar sanawlary, serişde çeşmeleri.
RG: gündelik/hepdelik çäkler, taým-autlar, öz-özüni aýyrmak; bloklaýjy barlaglar 'bet' -e çenli ýerine ýetirilýär. place` и `payout. request`.
7) Kassa: goýumlar we tölegler
Goýumlar: kart üpjün edijiler/ARM, kripto/stabiller, ýerli usullar; webhook-tassyklamalar; çarjbek töwekgelçiliklerinden goramak.
Tölegler: nobatlar, çäkler, uly möçberler üçin 4 gözli prinsip; serişde çeşmeleri → "diňe nagt-balans".
On-rampa/off-rampa kripto: awto-öwrülişik, KYT salgylary, hezirleme ekspozisiýasy.
8) Çäkler, töwekgelçilik we sebit düzgünleri
Limit profilleri ('DEFAULT', 'VIP _ A', 'VIP _ B', 'ULTRA') ýurt/walýuta/KUS boýunça.
IP/GPS/resminama boýunça geo-bloking.
Oýunlar/kategoriýalar boýunça örtükler, prowaýderleriň ýurisdiksiýalarda gadagan etmegi.
Anomaliýalara reaksiýa: nyrhlaryň ýokarlanmagy, enjamlaryň/tölegleriň baglanyşygy, bir ulanyjydan köp "VOID".
9) Gözegçilik etmek we peýdalanmak
Metrikler: gapjygyň gijikdirilmegi, stawkalaryň şowsuzlygy, tapgyryň hasaplanan wagty, goýumyň öwrülişigi → stawka, GGR/NGR, SLA tölegi, bonus stawkalarynyň paýy.
Logy & Trace: ähli wakalarda 'traceId' korrelýasiýa; çygly wakalary "sowuk" ammarda saklamak.
Alertler: gapjygyň jogabynyň pese gaçmagy, "VOID" köpelmegi, hasabatlaryň reconcile ýalňyşlygy, "RG _ BLOCKED" ösüşi.
Runbooks: hadysalaryň anyk proseduralary (üpjün edijiniň ýykylmagy, dolandyryjynyň bölünişi, tapgyrlaryň ýatyrylmagy).
10) Howpsuzlyk we gizlinlik
Auth: short-lived JWT/opaque tokens, açarlaryň aýlanmagy ('kid'), möhüm integrasiýalara mTLS.
Giriş syýasaty: rollaryň berk bölünmegi (amallar, maliýe, sapport), 2FA; uly tölegler üçin - ikinji şahsdan bolýar.
Data privacy: PII şifrlemek, töleg maglumatlaryny bellemek, saklamagy azaltmak; GDPR/Talap boýunça aýyrmak.
Audit: üýtgemeýän žurnallar, möhüm wakalaryň goly, düzgünleşdiriji üçin eksport.
11) Masştab etmek we şowsuzlyga çydamlylyk
Awto-skeyleriň aňyrsynda Statles-hyzmatlar; gyzgyn tablisalar üçin gorizontal şard (nyrhlar, wakalaryň ýazgylary).
Ledger - okamak/hasabat bermek üçin dik ätiýaçlyk + replikasiýa; shadow tables arkaly migrasiýa shemalaryny "doňdurmak".
Kesh: Redis TTL we "iki sekunt" strategiýalary bilen (wakalar boýunça read-through + invalidate).
DR/HA: multi-AZ, yzygiderli dikeldilýän ekaplar, kadalaşdyryjy talaplar derejesinde RPO/RTO.
Degradation usullary: awtonom kassa, "agyr" bonuslary öçürmek, teker elýeterli bolmadyk ýagdaýynda live-oýunlary maintenance-a geçirmek.
12) Şertnamalar we mysallar
Nyrh (sync, JSON/REST ýa-da gRPC):json
POST /bets/place
{
"requestId": "9a7f-…", "playerId": "p_123", "wallet": "cash",
"roundId": "R-2025-10-17-19:20:05-PRAGM-Table12", "gameId": "pragm_live_roulette", "selection": [{"market":"straight","value":"17"}], "stake": {"amount":"10. 00","currency":"EUR"}, "device": {"ip":"203. 0. 113. 5","ua":"Mozilla/..."}
}
Jogap:
json
{
"status": "ACCEPTED", "betId": "bet_8cd…", "balanceAfter": "245. 30", "hold": "10. 00", "limits": {"maxBet":"5000. 00"}
}
Şina hadysasy (async):
json
{
"event":"round. settled", "roundId":"R-2025-10-17-19:20:05-PRAGM-Table12", "bets":[{"betId":"bet_8cd…","outcome":"WIN","stake":"10. 00","payout":"360. 00"}], "playerId":"p_123", "ts":"2025-10-17T19:20:09. 231Z", "traceId":"tr_5f1…"
}
13) Anti-pattern (platforma döwýär)
Bonus we pul serişdelerini bir geleşikde çeşmesiz garyşdyrmak.
Uzak möhletli tokenler we olary müşderide saklamak.
Kritiki amallarda idempotentligiň ýoklugy (debet goşa).
Söweş DB (OLAP vs OLTP) boýunça monolit hasabat SQL.
Reconcile we çäklendirmesiz üpjün edijä kör ynanç haty.
Wagt zolagy ýok (UTC hemme ýerde!) tapgyrlaryň kesgitleýjilerinde we hasabatlarynda.
Maliýe däl domenlerdäki sinhron jaňlar (bonuslar/habarnamalar) stawkany petikleýär.
14) Casino backend-i işe girizmegiň barlag sanawy
Maliýe we gapjyk
- Ledger append-only, idempotentlik, balans wersiýasy.
- Pul/bonus bölünişi, çeşmeler syýasaty.
- Amalda kurslar/öwrülişikler hasaba alynýar.
Oýun integrasiýasy
- Nyrhlaryň/hasaplaşyklaryň ýeke-täk şertnamasy, 'roundId/betId' formaty.
- Seamless gapjygy; Transfer - diňe dogry ýerde.
- Awtomatiki VOID/REFUND ssenarileri.
KYC/AML/RG
- Stawka/tölege girmezden ozal syýasatlar; KJC statuslarynyň çäkleri.
- On-chain üçin KYT, sanksiýalar barlagy, subutnamalar bazasyny saklamak.
Kassa
- PSP/kripto-üpjün edijiler bilen webhuklar/gollar, dubly/retrailer, reconcile.
- Uly tölegler üçin 4-eyes, operatorlaryň hereketleriniň žurnaly.
Syn ediliş
- Gapjygyň metrikleri, round-settle latency, nyrhlaryň şowsuzlygy, SLA tölegleri.
- TraceId, alert, runbooks.
Howpsuzlyk
- mTLS/HMAC, JWT gysga TTL, açar aýlanyşygy.
- Rollar/hukuklar, 2FA, töleg maglumatlarynyň belligi.
Maglumat
- Çygly wakalar üçin OLTP/OLAP, CDC-ni DWH, S3-e bölmek.
- Yzlar we yzygiderli dikeldiş synaglary.
15) Jemleýji
Kazinonyň "backend" arhitekturasy - pul we jedelleriň linear yzygiderliligi bolan berk özeni we wakalarda çeýe periferiýa: bonuslar, analitika, aragatnaşyk. Üstünlik mikroservisleriň sany bilen däl-de, düzgün-nyzam bilen kesgitlenýär: anyk domen çäkleri, "jadysyz" ledjer, idempotentlik, syn etmek we standart laýyklyk. Şeýle esas bilen platforma ýurtlar/walýutalar/üpjün edijiler boýunça giňeldilýär we howpsuzlyk we pul boýunça eglişiksiz ýüklere çydam edýär.