Apache Kafka
Apache Kafka is the de facto standard for distributed event streaming. It is a distributed commit log that stores events durably and allows multiple consumers to read them independently. Included is Kafka Streams, a powerful client library that lets you build stateful streaming applications (like real-time fraud detection) directly within your microservices, without needing a separate processing cluster.
Why use it in EDA? Kafka is the backbone of modern Event-Driven Architecture. Unlike traditional queues that delete messages once read, Kafka retains them. This allows for "replayability"—if a new service comes online, it can replay history to build its state. It decouples high-velocity producers from consumers, ensuring traffic spikes don't crash your system.
How do we use it?
- Central Event Bus: The single source of truth for all domain events.
- Stream Processing: Filtering and aggregating data in real-time.
- Decoupling: Replacing fragile point-to-point APIs with asynchronous streams.



