Event‑Driven Design
Otso treats every change as an immutable event. This makes history auditable and projections easy to rebuild.
Why events work for Otso
Section titled “Why events work for Otso”- Simplifies imports from unreliable APIs.
- Enables replay and migration to new projections.
- Encourages small, composable plugins.
Drawbacks and mitigations
Section titled “Drawbacks and mitigations”- Event logs grow forever → use snapshots or pruning for old events.
- Higher initial complexity → start with high level helpers like
createEvent
.
Practical rules of thumb
Section titled “Practical rules of thumb”- Capture the smallest meaningful fact as an event.
- Keep events immutable; derive views elsewhere.
- Name projections after the query they serve (e.g.,
latest_notes
).