softwarearchitecture distributedsystem systemdesign
SA01.4 - Event Driven Architecture
SA07.5 - Enterprise Integration Patterns
Transclude of ds09.2---enterprise-integration-patterns#enricher-content-enricher
Introduction
Sometimes downstream consumers need more information (sometimes seen when events are notification events). Downstream consumers call external APIS or back to the producer to get information they require. Be careful with this pattern as it could lead to coupling.
With content enricher pattern you can add an enricher in the middle to pick up messages/events and enrich them before sending downstream to consumers.

Why enrich messages and things to consider
- Keeping the enrichment outside of the consumers domain, keeping consumer “pure”.
- Stop consumers fetching information they require from producer or other APIS.
- Enrichment pattern can lead to more code to maintain and manage
- If consumers need more information, are your event payloads or business boundaries, correct?