Архитектура casino core: катмарлары, модулдары, маалымат шиналар
Макаланын толук тексти
1) Сүрөт толугу менен: эмне casino core турат
Casino core - бул оюнчуларды каттоону/идентификациялоону, акчаны кабыл алууну/сактоону, коюмдарды эсептөөнү, бонустук экономиканы, тобокелдиктерди көзөмөлдөөнү жана жөнгө салуучу органдарга шайкештикти камсыз кылган домендик кызматтардын жыйындысы. Жогорудан ылдый схемада:1. Edge катмары (тышкы периметри): API-шлюз, WAF/бот-коргоо, rate limiting, кызмат-сетка ingress, гео/юридикалык чыпкалар.
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 катмары: шина окуялар (Kafka/Pulsar), кезек (SQS/Rabbit), CDC/Outbox, ETL/ELT (BI терезелер), Feature Store/ML, кэш (Redis), OLTP BP D (Postgres/Oracle), OLAP (ClickHouse/BigQuery).
4. Observability & SecOps: metrics/tracing/logs, SIEM/SOAR, сырлар (Vault/HSM), ачкычтар жана токендер, RBAC/ABAC, аудит журналы (WORM).
2) Домен модулдары (минималдуу зарыл курамы)
2. 1 PAM (Player Account Management)
Каттоо/логин, SSO, сессияларды жана түзмөктөрдү башкаруу, KBA/2FA.
Профиль: жаш/гео/акча/сегменттер, RG статусу/өзүн-өзү четтетүү.
Чектөөлөр: юрисдикция боюнча оюндарга жетүү, тыюу салуу, "чындык-текшерүү".
2. 2 Wallet/Ledger (акча контур)
Мультивалюталык эсептер, кош жазуу (дебит/кредит), өзгөрүлбөс зымдар.
Коюмдардын жана утуштардын атомдук транзакциялары (idempotency keys, домендин ичиндеги exactly-once).
Холды боюнча активдүү спин/раунд; транзиттик джекпот эсептери.
командалар аркылуу гана өз ара аракеттенүү (command API), окуу - проекциялар аркылуу (CQRS).
2. 3 Cashier / PSP Orchestration
Гео/бин-диапазондор/скоринг боюнча төлөмдөрдү роутинг; иштен чыкканда каскаддоо.
3-DS/AVS/velocity эрежелери; карталарды токендештирүү; on -/off-ramp үчүн крипто.
SLO топтому: авторизация ≤ 3с p95, депозиттин жалпы ийгилиги ≥ гео боюнча 85%.
2. 4 Game Sessions (провайдерлер менен интеграция)
Оюн сессияларын түзүү (token handshake), өлкөнү/валютаны/жашты валидациялоо.
Иш-чаралар коюм → натыйжасы → орнотуу шинага барат; RNG жана эсептөө - провайдер тарапта.
Анти-кыянаттык: min bet, жыштык, номиналдык өзгөрүшүнө тыюу салуу "куулук ичинде".
2. 5 Bonus Engine
Bonus Steyts (issued/locked/active/forfeit), Wedger, оюндар боюнча салым, max bet/max cashout, мөөнөтү.
Миссиялар/квесттер, фриспиндер, кэшбэк; турнир/джекпот менен шайкеш келет.
Коюм учурундагы эрежелердин катаалдыгы; өзгөрүлбөс окуя.
2. 6 Risk / Anti-Fraud
Жүрүм-турум сигналдары (коюмдардын ылдамдыгы, көп эсептери, жалпы түзмөктөр/карталар).
velocity эрежелери, байланыштарды текшерүү, chargeback коргоо.
Реакциялар: жумшак (лимиттер), катуу (AMLдеги блок/эскалация).
2. 7 Responsible Gambling (RG)
Депозиттердин/жоготуулардын/чендердин/убакыттын лимиттери, тайм-ауттар, өзүн-өзү жоюу.
"Чындык-текшерүү" жана мажбурлап тыныгуу; макулдуктарды жана логдорду сактоо.
2. 8 Jackpots & Tournaments
Жергиликтүү/тармактык, фикс/прогрессивдүү; ар бир коюм менен үлүштүк жыйым.
Коомдук лидборддор; жыйынтыктарды көз карандысыз текшерүү; анти-бот.
2. 9 Affiliates & CRM
Tracking суб-ID, атрибутика (CPA/RevShare/Hybrid), postbacks.
Сегментация, триггерлер, suppression-эрежелери, omnikanal (push/e-mail/SMS).
2. 10 Compliance & Reporting
Регулятивдик түшүүлөр, салык отчеттору, SAR/STR; WORM аудит-лог.
Юрисдикциялар боюнча Data residency (EU/UK/BR ж.б.).
3) Окуя модели жана маалымат шиналар
3. 1 Негизги топиктер (Кафка-нейминг мисалы)
`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`
Келишимдер: Euro/JSON Schema + Schema Registry, versioning (backward compatible), катуу түспөлдүк ачкычтар.
3. 2 Окуя үлгүсү (жөнөкөйлөштүрүлгөн)
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
}
}Эреже: окуялар - өзгөрүлбөс; түзөтүүлөр - айрым компенсациялык окуялар менен.
3. 3 Outbox & CDC
Бардык домендик транзакциялар ошол эле DD → фон publisher шинага жиберет outbox бир окуяны жазат.
CDC (Debezium жана аналогдор) - DWH ALTP боюнча жүктөмсүз экинчилик агымдар үчүн.
4) Консистенттүүлүк, сагалар жана идемпотенттүүлүк
Узак жараяндар үчүн сагалар (депозит/кэшаут, текшерүү, турнир сыйлыктары).
Бардык командалардын демпотенттүүлүгү: 'Idempotency-Key' + сервис тарабында дедупликация.
Шайкештик стратегиясы: капчыкта - катуу (ACID), калган учурда - eventual (проекциялар аркылуу).
Компенсация: жеке домендик окуялар, "кол менен оңдоого" тыюу салуу.
5) Маалыматтар: OLTP/OLAP, кэш, проекциялар
OLTP: капчык үчүн Postgres/Oracle, PAM, бонустар (p95 <150 ms).
Caches: Redis үчүн сессиялар, лимиттер, ысык проекциялары leadboard.
OLAP: ClickHouse/BigQuery — витрины KPI (FTD, NGR, ARPPU, Retention, LTV, Wager progress, Risk flags).
Проекциялар (CQRS): оюнчулар/транзакциялар боюнча тез издөө (<2с), RG панелинин реалдуу убакыт/тобокелдик.
6) Төлөм оркестри: деталдуу
Роутинг эрежелери: гео, BIN, тобокелдик-skor, жүк, наркы.
Cascade: PSP1 → PSP2 себет жоготуу жок; экспоненциалдык тыныгуу менен retrais.
Салыштыруу: күн сайын отчет PSP → капчык реестри; auto айырмачылыктар → билеттер.
7) Оюн провайдерлери менен интеграция
Gateway-үлгү: бирдиктүү оюн API, акча/Fich Mapping, деградация менен ден соолук чек.
Settlment: жөнөтүүчү колбек → Кошелек домен командасы. демпотенттик ачкычы менен settle.
Кулпу: минималдуу; коюм/утуш - зымдардын атомдук жуп.
8) Байкоо жана SLO
Метрики: p95/p99 latency per service, error rate, saturation, business KPIs (bets/min, settle lag, deposit success).
Trace: trace_id аркылуу (edge → домендер → шиналар → консумерлер).
Логи: структураланган, PII редакторлоо менен.
SLO-минималдуу:- Жарытылуу ядро ≥ 99,95%
- p95 капчык <150 мс
- Жоголгон/кайталанган сеттлменттер = 0
- BI <5 мин чейин кечигүү убактысы
9) Коопсуздук жана шайкештик
Zero-trust: меш ичинде mTLS, кыска жашоо токендер, RBAC/ABAC, минималдуу укуктар принциби.
Сырлар: Vault/HSM, ачкычтарды айлантуу, KMS-маалыматтарды шифрлөө "at rest".
PCI DSS/GDPR/жергиликтүү аналогдор: чөйрө сегменттөө, PAN tokenization, DLP, кирүү журналы (WORM).
WAF/бот коргоо: жүрүм-турум сигналдары боюнча чыпкалар, device-fingerprinting.
Data residency: региондор боюнча шардана; кросс-аймактык PII тыюу салуу.
10) Жеткиликтүү, DR жана чыгаруу
Региондор боюнча актив-актив/актив-пассив; RPO ≤ 5 мин, RTO ≤ 30 мин.
Канар Releases/feature-желектери, кайра; DD көчүрүү - ghost/экинчилик индекстер аркылуу.
Башаламандык-Engineering: үзгүлтүксүз фейл тармактар/PSP/провайдерлер деградацияны текшерүү үчүн.
11) Схемаларды жана маалыматтардын сапатын башкаруу
Data contracts: окуяларды версиялоо (semver), продюсерлердин/консультанттардын келишимдик тесттери.
Говеранс: маалымат каталогу (data catalog), булактарга ишеним деңгээли, витриналарды жаңылоо SLA.
Сапаты: deduplication, кеч окуялар (late arrivals), OLAP idempotent upserts.
12) Ролдору жана жетүү (Back-office)
RBAC: так ролдору (каржы, тобокелдик, саппорт, маркетинг, комплаенс).
Крит-аракеттер: "4 көз" тастыктоо, өзгөрүлбөс операциялар журналы.
PII-экран: жашыруу; толук жеткиликтүүлүк - өтүнмө/убактылуу токендер боюнча.
13) Жетилүү өлчөмдөрү казино core (өзүн-өзү сыйлоо)
1. Ишенимдүүлүк: SLO капчык/кассалар/сессиялар күндүн 99% ≥ аткарылат.
2. Маалыматтар: окуялар BI ≤ 5 мин; ledgers vs PSP консистенттүүлүгү ≥ 99,99%.
3. Бонустар: түзөтүүсүз эрежелердин конструктору; өзгөрүүлөрдүн аудити.
4. RG/AML: реалдуу убакыт сигналдары; отчет/разгрузка автоматташтырылган.
5. Окуялар: MTTR <30 мин; постмортемалар компаниянын ичинде ачык.
6. Тестирлөө: келишимдик, жүктөө, башаламандык тесттер; Test Sandbox/PSP.
14) Архитектуралык аудитордун чек-тизмеси
- outbox/CDC бар, иш-чара бүтүм менен атомдук жарыяланат.
- Ledger өзгөрүлбөс өткөргүч китеп катары ишке ашырылган; PSP менен салыштыруу бар.
- Бардык командалар idempotent; бар.
- ALTP жана OLAP бөлүнгөн; проекциялар согуштук БДга тийбейт.
- RG-лимиттери чени боюнча синхрондуу колдонулат; reality-check мажбурлоо.
- Game gateway окуяларда read-only/" no new sessions" деградацияланат.
- DR планы дайыма көнүгүү; калыбына келтирүү менен текшерилет.
- Ачкычтар/сырлар жана алардын айлануу саясаты документтештирилген.
- Compliance отчеттор автоматтык түрдө чогултулат (Excel-кол эмгеги жок).
- Аудит Logs - WORM, минималдуу укуктар боюнча кирүү.
15) Анти-үлгүлөрү ("кызыл желектер")
DB баланстарды жана бонустарды кол менен оңдоо.
коомдук жана жеке API аралаштыруу, эч кандай API-шлюз.
Домендик транзакцияларды "айланып өтүү" окуяларын жазуу (outbox аркылуу эмес).
Монолиттүү капчык жана сыймык жана сага жок бонустар.
Бирдиктүү DD "бардык" + BI-согуш схемасы боюнча суроо.
Окуялардын жана контракттык тесттердин версияларынын жоктугу.
бонустар жана турнир формулаларынын эрежелерин өзгөртүү реестри жок.
Каскадсыз төлөөдөн баш тартуу; стратегия катары "кийин аракет".
Эч кандай RG куралдар "кутудан"; ишеним боюнча лицензия.
Casino core - бул акча жана жоопкерчилик негизги болуп саналган окуялардын, укуктар боюнча катуу чектелген кызматтардын "тармагы". Күчтүү архитектура үч мамыга таянат:
1. Катуу акча бүтүндүгү (ledger, демпотенттик, сагалар, outbox/CDC), 2. Окуя жана байкоо (келишимдер, жол, SLO, BI-дисплей), 3. Коопсуздук жана демейки комплаенс (zero-trust, PCI/GDPR, RG/AML).
Бул негиздерди куруу менен, оператор мазмунду, бонустук экономиканы жана маркетингди негизги нерсе - оюнчулардын акчасы жана бренддин аброю үчүн тобокелчиликсиз масштабдайт.
