advanced
Event sourcing
Храните state changes как append-only event log, когда audit, replay, temporal queries и explicit evolution оправдывают modeling cost.
Event sourcing хранит state как append-only последовательность domain events. Текущее state — replay или snapshotting. Плюсы: audit trail, temporal queries, естественная интеграция теми же events. Минусы: schema evolution, storage и сложность mental model.
Компромисс: идеальная история и replay против operational burden и learning curve.
На интервью: event sourcing vs CRUD плюс outbox; snapshots и upcasting старых events.
Типовые ошибки: events как integration DTO без domain meaning; unbounded store без compaction; replay без versioning strategy.
Чеклист:
- Events как domain facts, versioned.
- Snapshots для long aggregates.
- Upcasters для schema changes.
- Разделяйте internal и public integration events.