group-telegram.com/ba_and_sa/2230
Create:
Last Update:
Last Update:
Event Sourcing: что это и зачем его знать системному аналитику?
Салют! Сегодня разберём Event Sourcing (ES) — важный паттерн проектирования, который стоит понимать каждому системному аналитику, а иногда и бизнес-аналитику, если он связан с больше с ИТ частью.
#архитектура | BA|SA
Event Sourcing — это подход, при котором состояние системы определяется последовательностью событий (events), а не просто последними исходными данными.
🔹 Простой пример
Представьте банковский счёт:
- В традиционной системе хранится только текущий баланс (например, `1000₽`).
- В Event Sourcing хранятся все события:
-Счёт открыт (+0₽)
-Начислено +500₽
→ баланс500₽
-Списано -200₽
→ баланс300₽
-Начислено +700₽
→ баланс1000₽
Если вдруг произошла ошибка, можно пересчитать баланс с нуля, просто "проиграв" все события.
1. Точность данных – можно восстановить состояние на любой момент времени.
2. Аудит и откат изменений – все действия записаны, можно анализировать, кто и что сделал.
3. Гибкость – можно создавать новые отчёты и аналитику на основе истории событий.
4. Поддержка сложных сценариев – полезно в микросервисах, финансах, логистике, игровых системах.
✅ События (Events) – неизменяемые записи о том, что произошло.
✅ Event Store – база, где хранятся все события.
✅ Проекции (Projections) – представления данных, которые строятся из событий (например, текущий баланс).
✅ Реиграция (Replay) – возможность "переиграть" события для восстановления состояния.
Часто Event Sourcing используют вместе с CQRS (Command Query Responsibility Segregation) – это когда запись и чтение данных разделены.
📚 Полезные материалы
- Знакомимся с Event Sourcing. Часть 1 – основы ES.
- Prostore — простой Event sourcing + CQRS фреймворк – практический пример.
- Гайд по эвент-сорсингу – разбор паттерна.
- Применение CQRS и Event Sourcing в микросервисах – как это работает в распределённых системах.
- Server-Sent Events: пример использования – про push-уведомления в вебе.
- Обновление состояния через SSE без затей – как использовать события в реальном времени.
Event Sourcing – мощный инструмент для систем, где важна полная история изменений. Если вы аналитик в fintech, e-commerce или сложных enterprise-системах – понимание ES поможет проектировать более надёжные и прозрачные решения.
Источник: @ba_and_sa