Exploring different types of events
When building EDA applications, it’s important to know the different types of events you can publish, each has their own trade-offs.
Event Carried State Transfer Events
- Enriched events (stateful)
- Higher risk of data being out of sync
- Consumers have the data
- Decreases architecture coupling
- Producer/consumer contracts more coupled
- Higher risks of breaking contracts
Notification Events
- Minimal information
- Less risk of data being out of sync
- Consumers often need to fetch data
- Increases architecture coupling (callback for info)
- Producer/Consumer contracts kept minimum
- Lower risk of breaking contracts
Delta Events
- Stores difference between old/new
- Examples seen in change data capture events
- Can reduce complex in consumers needing to figure out what has changed
Domain Events
- Events that raised in the same bounded context
- Some team reference these as internal events raised in bounded context
- Some team reference these as business “important” events.
- People also refer to “integration” events. These are events used for integrations.
Last updated on