Introducing bkes, a binary Kafka backed Event Store

Hi all,

Recently I worked on a binary event store backed by a Kafka topic. The idea is to use a separate Kafka topic for each kind of aggregate entity. Using the same key each time for the same entity. Bkes solves the problem of concurrent writes, and retrieving all the events with the same key.

I came up with the idea when I tried to poc an event sourcing system, using just Kafka. It’s still early stage, bu I would love some feedback, especially if other people do think it could be interesting or not.

The source can be found at GitHub - gklijs/bkes: Binary Kafka backed Event Store. Essentially it’s now a docker container that’s published to docker hub, and a Java library published to maven central. I also created a demo project at GitHub - gklijs/bkes-demo: Demo using three bkes servers, for user, bank account and transfer aggregates, via Clojure.. Please let me know what you think, either here, or on Github discussions.