Galaxy Innovations — B2B Аналитический портал iGaming технологий.
Технологии онлайн-казино Архитектура ПО Время чтения: 14 мин

Платформы онлайн-казино: микросервисы, PAM и отказоустойчивость

Антон Дрозд
•
Ориентиры

Архитектурные ограничения

  • ▸PAM (Player Account Management) — ключевой компонент платформы, отвечающий за транзакционную целостность баланса и сессий.
  • ▸Разделение контуров: Real-Money баланс и Bonus Balance должны управляться изолированными транзакционными стейт-машинами.
  • ▸Идемпотентность API-вызовов гарантирует защиту от повторных списаний и начислений при сетевых сбоях.
Платформы онлайн-казино: микросервисы, PAM и отказоустойчивость
Рис. 1: Дата-центр ядра PAM: распределенные серверные стойки и обеспечение безотказной работы 99.995%.

Архитектура ядра PAM: разделение ответственности

Платформа онлайн-казино представляет собой высоконагруженную распределенную систему, в центре которой находится модуль PAM (Player Account Management). PAM агрегирует все бизнес-процессы: регистрацию, аутентификацию по стандартам OAuth2 / JWT, профилирование игроков, учет финансовых транзакций, начисление бонусов и аудит действий для регуляторов.

В современной архитектуре PAM транзакционное ядро (Core Ledger) строго отделено от прикладных сервисов витрины. Финансовый баланс пользователя не хранится в обычной реляционной таблице рядом с настройками профиля: его обслуживает специализированный движок двойной бухгалтерской записи (Double-Entry Ledger) с гарантией ACID.

Транзакционная целостность и идемпотентность

В процессе спина игровой сервер провайдера отправляет в PAM запрос на списание ставки (Debit) и, в случае выигрыша, запрос на зачисление (Credit). В условиях нестабильной мобильной сети запросы могут дублироваться или приходить с задержкой.

Для предотвращения катастрофических сценариев двойного списания или повторной выплаты каждый финансовый вызов обязан содержать уникальный ключ идемпотентности (Transaction UUID / Idempotency Key). При повторном поступлении запроса с тем же UUID система возвращает закешированный результат первой успешной транзакции без повторного изменения баланса.

Build or buy

Когда собственный PAM оправдан

Разработка ядра становится рациональной, если одновременно выполняются условия:

  • —Turnkey-платформа ограничивает продуктовые релизы или прямые интеграции.
  • —Оператору нужен полный контроль над платежной маржой и пользовательскими данными.
  • —Есть команда и бюджет на длительную разработку транзакционного ядра.
Состав PAM

Ключевые микросервисы в составе современной PAM-системы

МикросервисСтек технологийФункциональная рольТребования к SLA
Auth & Session ServiceGo / Redis ClusterJWT токены, валидация сессий, гео-чекинг99.999% (< 5 мс)
Wallet & Ledger ServiceJava / CockroachDB / PostgreSQLОбработка ставок, выигрышей, double-entry100% ACID (< 20 мс)
Bonus EngineKotlin / Apache FlinkРасчет вейджера, турнирные очки, промо99.95% (< 50 мс)
Game Gateway RouterRust / Envoy ProxyМаршрутизация вызовов к агрегаторам и студиям99.99% (< 15 мс)
Reporting & CompliancePython / ClickHouseГенерация отчетов для аудиторов и регуляторов99.9% (Batch)
Казино-платформы и PAM
Рис. 2: Инженерная сессия: моделирование транзакционных очередей и изоляции игровых балансов.

Двухфазный коммит и распределенные транзакции

При интеграции сторонних игровых агрегаторов используется паттерн распределенной транзакции типа Saga или двухфазного коммита (2PC). Если ставка была успешно заблокирована в PAM, но сервер игрового провайдера ответил внутренней ошибкой (HTTP 500) или сбросил соединение по таймауту, транзакция должна быть автоматически откачена (Rollback / Compensating Transaction) с возвратом средств игроку в течение не более 200 миллисекунд.

Переход на новую PAM без потери баланса

При миграции платформы главный риск — расхождение денег и состояний игровых раундов, а не только простой интерфейса.

  1. 01До переключения согласуйте единый идентификатор игрока и правила переноса открытых ставок, бонусов, лимитов и самоисключения. Непереносимые сущности нужно закрыть по заранее объявленной процедуре.
  2. 02Проведите пробную миграцию на копии данных и сравните итоговый баланс с суммой по журналу транзакций. Расхождения разбирают до запуска, а не компенсируют вручную после него.
  3. 03Назначьте окно переключения и точку отката. Если новая система приняла реальные операции, простой возврат старой базы уже небезопасен — нужен сценарий сверки и переноса дельты.

Рекомендации по выбору платформенного решения

Создание собственного PAM с нуля требует инвестиций от $1.5M и команды из 25+ senior-инженеров на протяжении 1.5-2 лет. Оператору среднего масштаба чаще подходит аренда проверенного enterprise-ядра по модели Turnkey с возможностью постепенного выкупа исходного кода по мере роста бизнеса.

Антон Дрозд

Автор материалов Galaxy Innovations.

Материалы по теме

Все статьи раздела →
API в iGaming: Seamless Wallet, Transfer Wallet и баланс
Протоколы
• 12 мин

API в iGaming: Seamless Wallet, Transfer Wallet и баланс

Сравнение протоколов Seamless Wallet и Transfer Wallet: защита от race conditions, идемпотентность финансовых вызовов и обработка сетевых сбоев во время спина.

Читать материал →