These are chat archives for RBMHTechnology/eventuate
Global-scale event sourcing and event collaboration with causal consistency
I'm tinkering awhile with this idea to use Kafka and Akka cluster sharding to do Event Sourcing/CQRS.
It's a alternative approach to akka-persistence like Eventuate. I wonder if my approach would be feasible and if it's similar to Eventuate.
All writer nodes join a akka cluster and route the commands to the node which runs the aggregate actor. The actor will write this atomically to Kafka in one produce call (see flumina which makes that possible)
The events are written to a events topic which can be consumed by multiple nodes and different types of microservices to create autonomous and a event driven architecture. Offsets of consuming these topic are either stored in Kafka or a local KV database (favoring the last though).
The state is written to a log compacted topic. Each node will receive these state updates and will write the state in a local KV database.
When a node goes or a persistent actor is spawned on different node it will load the state from local KV database and start operating on incoming commands + events.