Event Sourcing

Event Sourcing — паттерн, где вместо хранения текущего состояния сохраняется последовательность всех событий, породивших это состояние.

Принцип

Событие — immutable факт (BetPlaced, PaymentApproved). Event store — append-only log. Текущее состояние — projection от replay событий. Point-in-time восстановление через replay до нужного момента. Полная auditability из коробки.

Плюсы

Полный audit trail (регуляторное требование в iGaming). Возможность построить любые projections из истории. Debugging через воспроизведение сценария. Temporal queries (что было час назад). Естественная интеграция с event-driven архитектурой.

Минусы

Сложность queries (нужен CQRS). Schema evolution событий (migrations нужны с оглядкой). Snapshots требуются для performance (не replay миллионов событий). Higher storage. Кривая обучения выше классического CRUD. Не для всех доменов.

Гейминг-применение

Wallet transactions: каждая ставка/выигрыш — событие. Regulatory audit trail. Fraud investigation: replay действий пользователя. Reconciliation с провайдерами. Bonus engine: пересчёт по истории. EventStoreDB, Kafka + KSQL, AWS EventBridge — типовые технологии.