Event Driven Architecture

Ishan Liyanage
2 min readMay 3, 2023
Photo by Jason Leung on Unsplash

What exactly is event driven architecture?

It is a software architecture pattern that uses events as the mode of communication between services.

In other words, the services or components in Event Driven Architecture does not communicate using CQRS, but using Events.

It has three main components.

  1. Producer
  2. Channel
  3. Consumer

Producer

This is the component of service sending the event. We can call it has publisher too. It is basically reporting that the component done completed.

e.g created/ updated/ deleted record

The producer will push the event to the Channel.

Channel

This is for me the most important component in the Event Driven Architecture. Channel is responsible for distributing the events to the relevant parties. Basically Channel places the event in a specialized queue (we may call it the Topic). Then consumers listen to this queue.

e.g Kafka, RabbitMQ etc..

Each Channel has its pros and cons.

Each Channels may use different methods to distribute the events such as Queue, REST API Call.

--

--

Ishan Liyanage

Passionate Technical Lead, Senior Software Developer and free and open source software advocate. Based in Singapore.