DeveloperWeek Europe 2021 DeveloperWeek Europe 2021
Get your ticket or log in to build your agenda.

From Event Streaming to Event Sourcing

Workshop Stage 2
Join on Hopin

Gerard Klijs
Open Web, Software Engineer / Developer Advocate

Gerard has been mainly a Web Developer using Java. Using Kafka for different use cases for several clients. He also picked up Clojure and Rust in his spare time, and contributed to several JVM GraphQL libraries.

Kafka is great, but it's not well suited for event sourcing.
For streaming events Kafka is a great solution which is scalable and easy to use. But for event sourcing it's not a perfect fit. One of the things we can't get from Kafka is quickly getting all items with the same id. Which is something event stored as made for. This means it's not easy to quickly rehydrate an aggregate.

In an event sourcing architecture often CQRS is applies. To easily handle queries, some intelligent message distribution is needed, which is also something which is not available with the Kafka api.

I will explore these problems and offer some solutions by building a few things onto Kafka instead of sending and receiving the messages directly from Kafka.