Event-Driven Architecture

Seamless and scalable components

Kong To
7 min readDec 4, 2023

Nowadays systems are often distributed. And that is to reflect the need of extensibility, scalability and resiliency principles. Engineers and architects are exploring more architecture styles to achieve that. Microservices is one way. CQRS is another one. EDA also is one.

You may read this article to learn more about Microservices Architecture style. In CQRS, we need a consistency synchronisation between the read model and the write mode, using event bus and implementing an observer design patter.

EDA is to embrace asynchronicity and eventual consistency across components of a system.

In CQRS, we need to implement the choreography SAGA pattern to ensure the eventual consistency between the read and write models. With EDA, there is a need to provide a mean for components to communicate with each other. When an event occurs in one component, we publish it so that other components can react to it. That is the observer design pattern.

SAGA can be described as a sequence of transactions that can be interleaved with other transactions.

Please note that this article is part of My path of software craftsmanship. The…

--

--

Kong To

Architect, code crafter. Code quality matters. Technical writer @TheFork, a Tripadvisor company