What is an Event Driven Architecture?
An event-driven architecture relies on events that trigger the communication between decoupled services. This is a common approach for modern applications and microservices architectures.
An event is a change or an update in the state of a service.
For example, an item being placed in a shopping cart on an e-commerce website. Events can either carry the state or they can be identifiers.
Event-driven architectures have three major components: Event Producers, Event Routers and Event Consumers.
A Producer publishes an event to the Router, which filters and pushes the events to Consumers. Producer Services and Consumer Services are decoupled, which allows them to be scaled, updated, and deployed independently.