Bidirectional patterns in event-driven architectures By David Boyne

Bidirectional patterns in event-driven architectures By David Boyne

Bidirectional patterns in event-driven architectures

Many folks building event-driven architectures use events to communicate between internal services. It’s a great way to create decoupled and resilient architectures, but events don’t stop there.

Companies are starting to consume events/streams from external companies, and also exposing events to front-end clients creating seamless integrations in real-time between various areas of their architecture.

Event-driven architectures are becoming more accessible to us, and innovation is happening around us to make integration with events/streams easier.

If we look at ways people are connecting and consuming streams/events we can see an increase in innovation and use cases emerging:

Events within services/boundaries

Events between organizations

  • Many businesses have value within their domain they can expose for their customers. These businesses are looking into ways customers can connect to these events and consume them.

  • You often see this pattern when you integrate with web hooks that companies provide.

  • There may be a rise of integrations between organizations, and standards emerging over the next few years, as James Urquhart visions in the book Flow Architectures.

  • Companies realise that there is huge value in data, especially real-time data and this value loses value over time. Companies are looking for ways to easily integrate and consume events in real-time.

  • Lowering the cost of integrations increases innovation. Companies are becoming aware of this.

Events between backend and frontend

  • It’s nothing that new, we have been using web sockets to connect between backend and frontend for a while now, but this space keeps innovating.

  • With the increase usage of Server-send events, MQTT or web sockets, people are exposing events to clients for real-time updates.

  • I personally consider the frontend as another consumer within its own boundary and rules. They will be interested in your domain events, just as much as your backend (in some cases), so exposing this technology is powerful.

Extra Resources

Download EDA Visuals

Join over 8,000 others learning EDA and download all the EDA visuals directly to your computer. This document updates everytime a new visual is added so make sure you come back to get the latest.

Download now →
Diagrams and thoughts by @boyney123 to help you learn.