These are chat archives for RBMHTechnology/eventuate
Global-scale event sourcing and event collaboration with causal consistency
@juanjovazquez The main reason for choosing the actor-based implementation was familiarity. In the projects at RBMH, we initially wanted to use akka-persistence but we soon found that support for global distribution with a focus on AP of CAP would require major changes to it (more details in this blog post). So, we decided for a rewrite and created Eventuate which is meanwhile, from a high-level perspective, a functional superset of akka-persistence.
I cannot say that the actor-based approach is superior/inferior to a pure functional approach. It just has never been discussed. What I like about the actor-based approach is that you can easily reason about consistency boundaries and units of concurrency incl. their representation in vector clocks etc. On the other hand, I'm also following the recent functional approaches to ES using free monads, for example, but that's currently more of personal interest. I'm still in the phase of trying to grasp how a pure functional approach, that covers all aspects of Eventuate, could look like than having a clear picture.