
3/13/2018 · Adam Warski
What this post added
This post introduces event sourcing as a pattern that can be implemented using Apache Kafka. It explores different strategies for storing events in Kafka (single topic, topic-per-entity-type), discusses basic operations like reading the current state by folding events, and details how Kafka Streams and state stores can be used to efficiently manage and query entity states. The post also covers fault tolerance through changelog topics and standby replicas, and discusses consistency guarantees (at-least-once and exactly-once) achievable with Kafka transactions. Finally, it touches upon handling side-effects triggered by events.