Enterprise Service Bus v Event-Driven Architecture

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.

Share this post