Як влаштований backend у ігрових платформ
Ігрова платформа - це «оркестр» десятків сервісів: від авторизації та гаманця до інтеграцій з ігровими серверами (RGS), антифроду, маркетингу та звітності. Завдання бекенду - забезпечити чесність, швидкість, масштабування і відповідність регуляториці при зручному досвіді для гравця і оператора. Нижче - практична карта компонентів, потоків і рішень.
1) Референс-архітектура
Канальний шар
API Gateway/Edge: TLS/MTLS, WAF, rate limits, ідемпотентність, версія API, канарні маршрути.
BFF (Backend for Frontend): REST/GraphQL для веб/мобайлу/партнерів, агрегація даних, кеш відповідей.
Доменні сервіси
Identity & Access: реєстрація, SSO/OAuth, MFA, сесії/токени, управління пристроями.
Profile & KYC/AML: анкети, документи, санкційні списки/РЕР, адреси, вік/гео-гейти.
Wallet & Payments: мультивалюта/деномінації, lock→settle, PSP/банки, повернення/чарджбеки.
Catalog & Entitlements: список ігор, фіч-прапори за юрисдикціями, ліцензії/доступи.
Game Session Broker: запуск/завершення сесій, проксі до RGS/провайдерів, підписи запитів.
Promo/CRM: бонуси, фрібети/фріспіни, місії, сегментація, ліміти промо-бюджету.
Tournaments/Leaderboards: рейтинги, анти-статпаддинг, призові фонди.
RG (Responsible Gaming): ліміти часу/депозитів/втрат, реаліті-чеки, паузи/самовиключення.
Risk & Fraud: поведінковий скоринг, граф мультиаккаунтів, пристрої/платежі/арбітраж, кейс-менеджмент.
Content & CMS: банери, сторінки, локалізація, A/B-опції.
Notifications: e-mail/SMS/push/WebSocket, частотні капи, «тихий годинник».
Reporting & Compliance: вивантаження в регулятори, ігрові/фінансові звіти, аудиторські журнали.
Платформа
Event Bus (Kafka/Pulsar): події ставок/платежів/фіч, CDC, аудит-трейли.
Data Platform: DWH/Lakehouse, стрімінгова ETL, фічестор для ML (ризик/рекомендації).
Observability: логи/метрики/трейси (ELK/OTel/Prometheus), алерти, SLO.
Secrets & Config: KMS/Vault, конфіги по середах, фічефлаги.
CI/CD: build/test/scan, blue-green/canary, міграції схем, «4-ой» реліз ризикових модулів.
2) Ключові потоки даних
2. 1 Логін → сесія
1. BFF → Identity: аутентифікація, пристрій/гео.
2. KYC/AML: перевірка віку/документів, санкції.
3. RG: застосування лімітів і статусу самовиключення.
4. Видача токена, відкриття ігрового лобі (каталог по юрисдикції).
2. 2 Ставка/ігровий раунд (слоти/ставки)
1. Клієнт → API Gateway → Game Session Broker.
2. Broker підписує запит, викликає RGS: `bet → outcome`.
3. Wallet: 'lock (bet)'→ після outcome'settle (net)'ідемпотентно.
4. Audit: незмінний запис'( req, outcome, walletTxId, mathVersion, hash)'.
5. Telemetry: події в Kafka, оновлення місій/турнірів.
2. 3 Платежі та висновки
PSP-адаптери (карти, open banking, локальні методи), SCA/3DS.
Антифрод/AML: скоринг транзакцій, джерела коштів, холди/ручна перевірка.
Ідемпотентність на рівні ордерів і коллбеків PSP.
3) Акаунти, KYC/AML і доступ
Модель профілю: основні дані, документи, адреси, переваги, згоди (GDPR).
Версіонування і «сліди» змін (хто/коли/яке поле).
KYC-процеси: асинхронні Webhook-і від провайдерів, ретраї/ескалації.
Geo/age-gates: стоп-правила на рівні gateway і BFF (не показувати заборонені продукти).
4) Гаманець і грошові потоки
Схема балансу: cash/бонусний/заблокований/в дорозі.
Контракт ставки: 'lock → outcome → settle'з TTL і повторюваністю до успіху.
Валюти/деномінації: точність, округлення, курс/фіксація на час транзакції.
Антикорупція/журнали: незмінні рухи, звірки, подвійний запис (двосторонній облік).
5) Каталог ігор та інтеграції з RGS
Шар адаптерів до провайдерів, маппінг методів/сигнатур/помилок.
Юрисдикційні прапори: авто-спини, buy-feature, min RTP/швидкість, вікові обмеження.
Health-check ігор, автоматичне вимикання при SLA <порогу.
Реплеї раундів по'( seed, step, mathVersion)'- через RGS.
6) Промо, місії, турніри
Промо-гаманець: списання бонусних коштів з пріоритетом, wagering-правила, капи.
Місійний рушій: декларативні умови (події → правила → нагороди), антиаб'юз (дублікати/бот-патерни).
Турніри: real-time лідерборди, анти-статпаддинг, прозорі критерії, призові виплати ідемпотентні.
7) Responsible Gaming (RG)
Ліміти (депозити/ставки/час), реаліті-чеки з інтервалами, тайм-аут/самовиключення.
Принцип «RG-сигнал старше промо»: будь-які маркетингові події ігноруються для гравців в паузі/самовиключенні.
Звітність і журнал втручань (хто/коли/підстава/результат).
8) Ризик і антифрод
Дані: пристрої, поведінка, платежі, граф зв'язків (телефони, карти, IP, адреси).
Моделі: аномалії депозитів/висновків, мультиаккаунти, бонус-карусель, арбітраж застарілих котирувань.
Реакції: скоринг → ліміти/холди/2FA/ручна перевірка; reason-codes і оскарження.
9) Дані та аналітика
Стрімінгова ETL (Kafka → Flink/Spark) + DWH/Lakehouse (BigQuery/Snowflake/Redshift).
Фічестор для ML (ризик/рекомендації/прогноз LTV).
Каталог даних, власники, SLA датасетів.
Privacy by Design: псевдонімізація, мінімізація PII, права суб'єкта даних (запит/видалення).
10) Спостережуваність і SRE
Метрики: p95/p99 API, TPS по іграх, помилка сеттла, latency PSP, відхилення RTP/частот, навантаження брокера.
Логи/Трейси: кореляція'requestId '/' roundId', розподілені трейси через OTel.
SLO/алерти: цільові пороги (наприклад, Spin p95 ≤ 120 мс, помилка сеттла <0. 01%), «тихий годинник» повідомлень.
Інциденти: плейбуки, «war room», постмортеми з action items.
11) Масштабування та регіони
Stateless-сервіси + горизонтальний автоскейл; sticky-sessions - тільки для live-ігор/складних бонусів.
Multi-AZ як мінімум; Multi-Region: актив-актив для читань/каталогу/телеметрії, актив-пасив для гаманця/джекпотів.
Квоти та backpressure: ліміти per-tenant/per-game TPS, пули з'єднань до PSP/RGS.
DR-план: RPO/RTO цілі, регулярні навчання switchover.
12) Безпека та комплаєнс
Доступи: Zero-Trust, MTLS/JWT, short-lived токени, RBAC/ABAC, Just-in-Time доступи.
Секрети: KMS/Vault, ротація, підписані артефакти, supply-chain сканування.
Дані: шифрування «в спокої» і в каналі, маскування/токенізація, моніторинг ексфільтрації.
Аудит: WORM-журнали, меркл-ланцюжки, контроль змін.
Регуляторика: звіти (GLI/eCOGRA/BMM, локальні регулятори), зберігання логів за термінами, гео-локалізація даних.
13) Технологічний стек (типові варіанти)
Ядро: Go/Java/Kotlin/Node. js; REST/gRPC/WebSocket.
Сховища: PostgreSQL/MySQL (транзакції), Redis/Memcached (кеш/idempotency), ClickHouse/Druid (аналітика в реальному часі).
Черги/шина: Kafka/Pulsar; CDC (Debezium).
CDN/Edge: CloudFront/Fastly/Cloudflare для асетів/віджетів.
ML/Фічестор: Feast/Tecton/Vertex/Featureform.
14) CI/CD і якість
Пайплайн: build → лінтери/тести → SCA/DAST → e2e в середовищі → canary/blue-green.
Міграції БД: Liquibase/Flyway + «двоступеневі» зміни (dobav→napolni→pereklyuchi→udali).
Контрактні тести між сервісами, тестові контейнери, хаос-тестування (latency/відмови).
Feature-flags, фейли безпечні за замовчуванням (fail-closed).
15) Міні-потоки і псевдосхеми
Ставка (ідемпотентність):
Client → API Gateway → BFF → Game Broker
↘ idempotencyKey store (Redis)
Broker → Wallet. lock → RGS. spin → Wallet. settle
↘ Audit(WORM) ↘ Telemetry(Kafka)
← Outcome (checksum/signature)
Виведення коштів:
Client → Payments API → Risk/AML → PSP Adapter
↘ Wallet. hold → PSP webhook → Wallet. settle/release
↘ Notifications/CRM → Reporting
16) Часті помилки і як їх уникнути
Рішення результату на клієнті → суперечки і провал сертифікації ⇒ тільки server-authoritative.
Немає ідемпотентності в ставках/платежах ⇒ подвійні списання ⇒ idempotency keys + retry-safe.
'% N'при маппінгу RNG ⇒ bias ⇒ alias/rejection sampling.
Змішування телеметрії і аудиту ⇒ слабка доказова база ⇒ розділяйте канали і сховища.
Відсутність RG-стопів в промо ⇒ регуляторні ризики ⇒ RG-прапори старше маркетингу.
Важкі зовнішні RPC в критичному шляху ⇒ високі p95 ⇒ кеш/батч/асинхрон.
Без DR/мультирегіону ⇒ тривалі простої ⇒ план switchover і навчання.
17) Великий чек-лист платформи
Чесність і гроші
- Server-authoritative результати, WORM-аудит
- Wallet lock→settle, ідемпотентність, мультивалюта
- Звіти для регуляторів, звірки
Ігри та інтеграції
- Каталог по юрисдикціях, health-чек ігор
- Надійні адаптери RGS/PSP, підписи/MTLS
- Реплеї раундів, SLA/авто-вимикання
Користувач і RG
- KYC/AML, гео/вік гейти
- Ліміти/паузи/самовиключення, пріоритет RG над промо
- Прозорі правила бонусів
Надійність
- SLO p95/p99, алерти, постмортеми
- Автоскейл, квоти, backpressure
- Multi-AZ/Region, DR-план
Безпека
- Vault/KMS, ротація ключів, supply-chain скани
- RBAC/ABAC, short-lived токени, Zero-Trust
- Шифрування, моніторинг ексфільтрації
Дані
- Стрімінгова ETL, DWH/Lakehouse, каталог даних
- Фічестор і ML-інференс
- GDPR/PII-політики і права суб'єктів
Процеси
- CI/CD canary/blue-green, міграції БД
- Контрактні/хаос-тести, навантаження
- Фічефлаги і канарські викладки
Бекенд ігрової платформи - це не один «товстий» сервіс, а координація багатьох строго визначених модулів зі своїми SLO і контролями. Успішна архітектура:
1. тримає результати і гроші чесними і ідемпотентними, 2. інтегрується з RGS/PSP через надійні контракти, 3. масштабується і витримує збої, 4. поважає регуляторику і Responsible Gaming, 5. забезпечує прозору спостережуваність і швидкі релізи.
Саме такий фундамент дозволяє безпечно рости, швидко запускати контент і підтримувати довіру гравців і регуляторів.