In today’s video, we are unpicking the difference between Enterprise Service Bus (ESB) and Event-Driven Architecture (EDA).
These well-known integration patterns appear, on the surface to be quite similar, however they are fundamentally different in their concepts and use cases.
What is Enterprise Service Bus?
It is an architectural pattern designed for integration and communication between services and applications. Previously, it has been linked to platforms like IBM WebSphere and Azure Service Bus but today is more relevant to on premises and cloud-based environments.
What is Event-Driven Architecture?
EDA is a modern pattern built around the aim of reacting to events asynchronously. It underpins technologies like Kafka, Azure Event Hub & Event Grid.
The key distinctions we cover in this video can be summarised below:
Feature | ESB | EDA |
Delivery Mechanism | Push to predefined subscribers | Pull from a persistent event stream |
Storage | Transient: no historical storage | Persistent: events can be replayed |
Subscription Management | Defined at design time | Dynamic: can add subscribers at any time |
Purpose | Commands to execute tasks | Notifications of events that occurred |
When choosing the right approach, you should consider your needs and the core differences between the services. ESB is better suited to orchestrating services where actions are predefined and brief communication is all that you need. EDA is suited to scenarios where real time insights, historical data access and scalability are top of your list.