Using Apache Kafka to Communicate Between Microservices

Traditionally, communication between microservices is done using their REST APIs. As systems evolve, however, the number of microservices gets larger—making communication more complex. Services begin depending on each other in a tightly coupled manner, slowing down dev teams work. Although this type of model may exhibit low latency, it only works if services are highly available.

To solve for this, new architectures decouple senders and receivers using asynchronous messaging. By using a Kafka-centric approach, you preserve low latency, gaining message balancing and centralized management.