Inside event-driven architectures By David Boyne
Inside event-driven architectures By David Boyne
![Inside event-driven architectures](/assets/visuals/eda/inside-eda.png)
When build event-driven architectures, you find yourself using many different patterns, not just one. When you dive into EDA applications you see a mixture of point-to-point messaging, pub/sub, choreography, orchestration, maybe some event sourcing and much more…
I believe using these patterns together help build a resilient, available and scalable event-driven architecture.
Process Manager
- The orchestrator that manages a workflow or process
- We have to perform business logic, this encapsulates that
- Often events are triggered from process manager to other consumers
- Example of this is AWS Step Functions
Event Sourcing
- Store events and use this information to calculate state
- Downstream projections can use this to calculate their own view of world
- Change data capture popular to listen to changes
- Audit is great here, as you can see everything that is happening.
- Example is storing events into NoSQL DB like Amazon DynamoDB
Event Streaming
- Often used to process information in real time
- Examples seen with user interactions on some form of interface (e.g. clicks)
- Messages are put onto the stream, consumers pick where they want to listen
- Offsets are used by consumers to read messages from the stream.
- Example of this is Amazon Kinesis
Point-to-point messaging
- Send messages to a channel for downstream consumers to process
- Multiple consumers can pick up messages from queue for concurrent processing
- Highly scalable pattern
- Example of this is Amazon SQS
Change data capture
- React to changes when they are made against your data
- Listen for new, delete or updates
- Attach consumers to changes to process information
- Example of a DB that supports this is Amazon DynamoDB
#### Pub/Sub
- Fire notifications out to downstream consumers
- Fan out events
- Consumers get own copy of event
- Create for decoupling applications and scaling teams
- Example of this is Amazon EventBridge
Extra resources
- Point-to-point messaging - What is point-to-point messaging? When should you use it? Visual I created to help you
- Choreography vs orchestration - What’s the differnce? Using process managers to orchestrate workflows or using events to communicate between services, maybe a world of both? More than likekly…
- Pub/Sub - What is Pub/Sub? When do events get pushed to consumers? Why use this pattern? Visual here to help
- Event-driven architecture with domain-driven design - How does domain-driven design help us build event-driven architectures? Take a look to understand why.
Explore other visuals
Download EDA Visuals
Join over 8,000 others learning EDA and download all the EDA visuals directly to your computer. This document updates everytime a new visual is added so make sure you come back to get the latest.
![](https://serverlessland.com/assets/visuals/eda/book.png)