GH GambleHub

Движок рабочих процессов

1) Зачем нужен движок

В iGaming множество сквозных процедур: депозит/вывод, KYC/AML, обработка ставок/сеттлов, выплаты победителям, противофродовые расследования, бонусные кампании, инцидент-менеджмент. Workflow Engine делает их:
  • Предсказуемыми: явные шаги, статусы, SLA и ответственные.
  • Надежными: идемпотентность, ретраи, компенсации, дедлайны.
  • Прозрачными: метрики, трассировка, аудит, доказуемость для регуляторов.
  • Эффективными: автоматизация рутины + человек подключается по правилам.

2) Ключевые принципы

Orchestrate the critical, choreograph the rest: критичные цепочки (платежи/выводы/сеттл) — под централизованной оркестрацией; некритичные события — через хореографию (pub/sub).
Идемпотентность везде: каждый шаг принимает `idempotency_key` и хранит результаты.
SLA-осознанность: время на шаг и общий дедлайн фиксированы; эскалации по таймерам.
Compensate, don’t rollback DB: для внешних эффектов — саги/компенсации.
Human-in-the-loop: формализованные “узкие ворота” (аппрувы, 4-eyes, SoD).
Policy-as-Code: маршрутизация, приоритеты, условия ветвлений — в политиках.
Наблюдаемость: каждое задание имеет SLI/SLO, трейсы и аудит.

3) Модель предметной области

3.1 Базовые сущности

Process (Процесс): долгоживущая оркестрация (минуты/часы/дни).
Task (Задача): атомарная операция (сервисная/человеческая).
Activity (Активность): шаг процесса с типом (service/human/decision).
Signal/Event: внешние события (PSP-вебхук, KYC-ответ, пользовательское действие).
Timer: дедлайны, напоминания, периодика.
Context: безопасный payload процесса (тенант, регион, KYC-ид, лимиты, риск-скор).

3.2 Состояния задач

`scheduled → running → (succeeded | failed | timed_out | cancelled | compensated)`

4) Архитектурные паттерны

Оркестратор процессов: центральный движок хранит состояние, таймеры, очереди, маршрутизацию.
Выполнители (workers): статeless-сервисы, подписанные на очереди задач доменов (Payments, KYC, Risk, Games).
Саги: для каждой “сильной” операции есть обратная (компенсационная).
Outbox/Inbox: гарантии “exactly-once” интеграции с внешними системами.
Command/Callback: задачи инициируются командами; результаты — по колбэкам/вебхукам.
Feature flags: динамический выбор веток (например, альтернативный PSP).
Трассировка: корелляция `trace_id` процесса со всеми вызовами.

5) Гарантии и устойчивость

At-least-once исполнение задач + идемпотентность обработчиков.
Ретраи с джиттером и ограниченными бюджетами (per-task, per-process).
Тайм-ауты: `task_timeout` < SLA шага; `process_deadline` < регуляторного срока.
Гистерезис и backoff: защита от штормов.
Circuit-breakers: останов ретраев при “красном” состоянии зависимости.
Дед-леттер (DLQ): для ручной разборки редких сбоев с полным контекстом.

6) Каталог типовых процессов (iGaming)

1. Депозит: init → 3DS/auth → capture → ledger → бонус-кредиты → уведомление → антифрод-проверка (асинхронно).

Компенсации: отмена/cancel, сторно, возврат бонуса.

2. Вывод средств: запрос → скоринг риска → 4-eyes аппрув → платежный шлюз → реестр выплат → уведомление.

Компенсации: отмена вывода, повторный маршрут, freeze аккаунта.
3. KYC/AML: сбор документов → провайдер 1 → fallback провайдер 2 → ручная проверка → результат/TTL.
4. Ставка/сеттл: резервация → фиксация коэффициента → подтверждение → сеттл/расчет → выплата.
5. Бонусная кампания: таргетинг → выпуск купонов → активация → мониторинг бюджета → экспирация/отмена.
6. Инцидент-процесс: детект → классификация P1–P4 → вар-рум → действия → закрытие → пост-мортем.

7) Конструкция шага (Task Spec)

Идемпотентный ключ: `task_id` + бизнес-ключ (например, `withdrawal_id`).
Предусловия: условия запуска (данные, лимиты, флаги).
Действие: RPC/HTTP/gRPC/команда очереди.
Обработка результата: успешный/частичный/ошибка/тайм-аут.
Ретраи: стратегия (exp backoff + jitter), максимум попыток.
Компенсация: обратное действие/переход в безопасное состояние.
Аудит: что, кем/чем, когда и зачем; до/после.

8) Human-in-the-loop

Встроенные human-tasks: чек-лист, вложения, подсказки (runbook), RACI.
SoD/4-eyes: несовместимые роли, два аппрувера для P1/P2.
SLA: эскалации при бездействии (таймеры, смена группы, авто-decline/approve в low-risk).
Коммуникация: уведомления в нужные каналы, статус-страница по P1/P2 через Comms Lead.

9) SLA, приоритизация и планировщик

Приоритеты: P1 (немедленно) → P2 → P3 (фоновое).
Квоты: per-тенант/регион/провайдер; защита от “захвата” очереди.
Дедлайны: на шаг и процесс; пропуск дедлайна → компенсации/эскалации.
Периодика: cron-процессы (закрытие реестров, экспирация бонусов, отчеты регуляторам).
Очереди по классам QoS: реальное время (A), операционные (B), аналитические (C).

10) Политики и DSL

Policy-as-Code: Rego/YAML/JSON-DSL для ветвлений, маршрутизации PSP, требований SoD, лимитов.
Версионирование: миграция процессов v1→v2 без прерывания активных инстансов.
Canary-политики: часть трафика по новой ветке; rollback по SLI.

11) Данные, приватность и комплаенс

Минимизация контекста: в процессе — только нужные поля; PII — токенизирована.
Geo-aware хранение: по юрисдикциям (GDPR и локальные правила).
TTL и ретеншн: разные для журналов, артефактов и документов.
Экспорт: только по workflow с шифрованием, тикетом и SoD.
Аудит: неподменяемые логи (WORM), связность событий.

12) Наблюдаемость и контроль качества

SLI/SLO процесса: доля завершений, средняя/95-я длительность, нарушения SLA.
Метрики задач: успех/ошибка/ретраи/тайм-ауты, возраст в очереди.
Трейсы: спаны по шагам, корреляция с платежами/игровыми событиями.
Дашборды: Exec (SLA/бюджет ошибок, узкие места), Ops (очереди/лаг, ретраи, DLQ), Risk/Payments (PSP-ветки, аппрувы).
Аномалии: STL/CUSUM/CPD на длительности и ошибках; авто-скейл/фейловер.

13) Стоимость (FinOps Workflow)

$/инстанс процесса, $/задачу, $/ретрай.
Оптимизации: батчинг низкоприоритетных шагов, агрегация событий, лимиты на длинные процессы, очистка старых данных.
Квоты: на запуск/хранение per-тенант; showback/chargeback.

14) Безопасность

IAM/ABAC: доступ к процессам/задачам по ролям и атрибутам (тенант/регион/окружение).
PAM/JIT: временные привилегии для ручных шагов.
Подпись вебхуков и запросов: HMAC/мТLS.
Защитные действия: авто-блок экспорта PII при аномалии; dual control на чувствительные ветки (PSP-роутинг, лимиты выплат).

15) Интеграции

Платежные провайдеры (PSP): команды/вебхуки, fallback-маршрутизация.
KYC/AML: провайдеры, ручные очереди, дедлайны по регуляторике.
Игровые провайдеры: сеттл/репортинг, обработка задержек каналов.
Инцидент-платформа/статус-страница: автоматическое создание/обновление карт.
Release-gates: блокировка опасных релизов при “красных” процессах.

16) Каталог шаблонов (фрагменты DSL)

Service task (HTTP):
yaml type: http id: payments_auth retry:
max_attempts: 5 backoff: exponential_jitter timeout: 2s idempotency_key: ${process. deposit_id}
on_fail: compensate: cancel_auth
Human task (4-eyes):
yaml type: human id: withdrawal_approve sod: true approvers: [Risk, Finance]
sla: 2h on_timeout: escalate: L2
Compensation saga:
yaml saga:
do:  [reserve_funds, capture, ledger_post]
undo: [ledger_revert, refund_capture, release_funds]

17) Дорожная карта внедрения (8–12 недель)

Нед. 1–2:
  • Инвентаризация процессов (депозит/вывод/KYC/сеттл), цели SLA, риск-классы.
  • Выбор движка/подхода (оркестратор + очереди + хранилище состояний).
Нед. 3–4:
  • MVP: депозит и вывод как две саги; идемпотентные обработчики; DLQ; базовые метрики/трейсы.
Нед. 5–6:
  • Human-tasks (4-eyes) для выводов; Policy-as-Code для маршрутизации PSP; таймеры и дедлайны.
Нед. 7–8:
  • Наблюдаемость (SLO/дашборды), аномалии по длительностям, авто-скейл воркеров; интеграция с инцидент-платформой/статус-страницей.
Нед. 9–10:
  • Комплаенс: приватность/TTL/аудит WORM; экспорт-workflow; SoD/ABAC.
Нед. 11–12:
  • Оптимизация стоимости, перф-тесты пиков, tabletop-учения, библиотека шаблонов.

18) KPI/KRI функции

SLA-выполнение процессов, MTTP (mean time to process).
Доля автоматических завершений без ручного участия.
Retried/Task ratio, DLQ rate, Compensation rate.
Время аппрувов (human-tasks) и % просрочки.
Стоимость: $/процесс, $/задачу, $/ретрай.
Риск-сигналы: аномалии по выводу/депозитам, несоответствия SoD.

19) Антипаттерны

Один монолитный процесс на “все” → трудно масштабировать и менять.
Ретраи без идемпотентности → дубли платежей/действий.
Нет дедлайнов/эскалаций → зависшие выводы/KYC.
Хранение PII в контексте процесса без TTL и маскировки.
Компенсации “на бумаге” без автоматизации.
Отсутствие трассировки и аудита → невозможно доказать корректность.

Итог

Движок рабочих процессов — это система управления жизненным циклом бизнес-операций: оркестрация критичных путей, устойчивость (идемпотентность, ретраи, саги), формализованное участие людей, политика безопасности и комплаенса, сквозная наблюдаемость и контроль стоимости. Такой контур делает iGaming-платформу предсказуемой в пиках, быстрой в инцидентах и убедительной для регуляторов и партнеров.

Contact

Свяжитесь с нами

Обращайтесь по любым вопросам или за поддержкой.Мы всегда готовы помочь!

Telegram
@Gamble_GC
Начать интеграцию

Email — обязателен. Telegram или WhatsApp — по желанию.

Ваше имя необязательно
Email необязательно
Тема необязательно
Сообщение необязательно
Telegram необязательно
@
Если укажете Telegram — мы ответим и там, в дополнение к Email.
WhatsApp необязательно
Формат: +код страны и номер (например, +380XXXXXXXXX).

Нажимая кнопку, вы соглашаетесь на обработку данных.