Monolith to Event-Driven Microservices with Apache Kafka

Aleksander ‘vyrwu’ Nowak
The Startup
Published in
7 min readFeb 9, 2020

--

Event-Driven Architecture refer to rather old concept of Software Engineering that gained a lot of relevancy recently due to the need for innovation in enterprise system integration, especially when talking about ever-growing complexity in microservice setups.

We will be designing an Evolutionary Event-Driven system based on a classical legacy application, similar to what can be found in many organisations all around the world. This exercise will show us the potential of Event-Driven Architectures.

But first, let’s talk about what Event-Driven Systems are, and why are they crucial for the future of Software Engineering.

The fastest distributed systems in the world are Event-Driven. — Dave Farley, co-author of Reactive Manifesto

Event-Driven Systems are Reactive

The Reactive Manifesto addresses problems with legacy by laying out the philosophies of modern web-native software development.

We want systems that are Responsive, Resilient, Elastic and Message Driven. We call these Reactive Systems.

An important quality of such systems is loose coupling — concept that empowers software components of a…

--

--