When building our microservice platform we wondered how services should consume data without opening the gates of hell by doing endless chains of API calls. We realized one fact: Having data is better than needing data. Therefore we decided to allow services to keep data redundant. Letting 40 teams work as autonomous as possible we introduced “eventing” and Apache Kafka to reduce dependencies when answering requests. This talk shows the principles and basics about asynchronous communication with Apache Kafka along with code samples. We’ll show you how simple producers and consumers can be written, how domain events are passed around between services and the most common pitfalls to be avoided for developers.
Ansgar Brauner is working at REWE Digital as Software Architect, taking care of the bounded context Fulfillment. After working at Zalando he started at REWE Digital to help one of Europe’s biggest food retailers building the leading food eCommerce platform in Europe. Beside enabling 8 teams to work autonomously he helps the product owners to not neglect the technical view. Ansgar leads the Java User Group Dortmund and likes playing around with Microcontrollers.