Akka PersistentView for EventStore Streams and Projections?


I’m still learning about EventStore.

I know EventStore can be used for Akka Persistence.

I’m just wondering whether the implementation of PersistentView can be modified (within the the EventStore plugin?) so that if no PersistentActor is found with the specified persistenceId then it would look for a stream or projection with that identifier?

On a related issue, if we wanted to do this on the write side of CQRS, for example so a process manager (aka saga) could watch out for specific events, would there be any problems with that? I assume there is no difference between the read and write side wrt EventStore?



Why not just use a subscription at that point?

Sorry Greg, I’ve not got my head around all the terminology yet or how best to be interface with EventStore from Akka.

I’m hoping that a PM can subscribe to a reliable stream of events that may (or may not) be a simple stream.

And do that in an Akka friendly way, which is why I suggested “extending” PersistentView.

I’ll keep reading the docs…

The Akka.persistence adapter just wraps the Akka client. The Akka client supports a reliable subscription called a catchupsubscription you can find it here https://github.com/EventStore/EventStore.JVM see examples

Thanks, I had read about that (and LiveSubscription) but not realised how all the pieces fit together.

So I guess what you are suggesting is just use the Akka client, which should be ok, thanks for the tip. It would be nice to stick with the Akka Persistence abstractions though, and it may be that they go in this direction any way.

My recommendation for now after the long discussions here would be to use the abstractions on the write side and catchup subscriptions on the read side until something better comes along