An introduction to Event-Driven Architecture
Event-Driven Architecture (EDA) is a paradigm that revolves around emitting and consuming events. These events could be user actions, sensor outputs, or messages from other programs, like microservices. The core aspects of EDA include:
- Decoupling of components: EDA allows for the decoupling of application components or microservices
- Asynchronous communication: Components communicate by producing or consuming events, which allows for non-blocking interactions
- Reactivity and adaptability: Systems built with EDA can easily adapt to changes or new requirements by modifying how events are handled, or by introducing new events
A system modeled using EDA usually consumes streams of events instead of static states like the data stored in a relational database table. EDA systems typically rely on event stores. An event store is a specialized database system that persists the events. Such stores are usually immutable...