Что такое Event Sourcing
Хранение состояния через историю событий
Event Sourcing — архитектурный паттерн, при котором состояние приложения определяется последовательностью событий, а не текущим снимком данных.
Принцип работы
- Событие (Event) — неизменяемая запись о том, что произошло
- Event Store — хранилище всех событий в хронологическом порядке
- Проекция — текущее состояние, восстановленное из событий
- Replay — возможность воспроизвести все события заново
Преимущества
- Полная история изменений (аудит)
- Возможность отката к любому моменту времени
- Отладка и анализ поведения системы
- Поддержка CQRS (Command Query Responsibility Segregation)
Примеры использования
- Банковские транзакции и платёжные системы
- Системы бронирования и заказов
- Игровые сервера (replay матчей)
- Аудит и compliance в финансовых приложениях
Технологии
Event Store, Apache Kafka, Axon Framework, Marten (.NET).