I think you're doing it wrong. It shouldn't be any more complicated than writing events as a producer to a Kafka topic.
Gets more complicated when you add in distributed computing, redundancy etc... However those things are always complicated
Gets more complicated when you add in distributed computing, redundancy etc... However those things are always complicated
However, just because you're using event sourcing doesn't mean you don't have a database with the current state of your entities.
class User < ActiveRecord::Base
has_paper_trail
end
That solution is good enough for most use cases and doesn't require highly skilled architects and developers to implement Event Sourcing properly.Regarding logs, "traditionally", I'd use an audit/change history table for objects that needed one.
This is not very different from what a relational database does with redo logs. In fact, in a way, using event sourcing resembles composing a system from the fundamental building blocks of a traditional DBMS, in a distributed way.
I can't shake off the project because it keeps getting stuck to the bottom of my shoe.