Example/reference implemenations of integrating external read side systems with event store? (Like RavenDB)


Are there any reference implementations or example code for integrating separate query/read-side solutions with the Eventstore?

like using RavenDB as your read side?

Or what do you use for your read side?


I used RavenDB. Persisten subscriptions are your friend here.

Especially if you store the position transactionally with the view model

Pardon my ignorance, but what is “persistent subscription”?

Sorry, I should use the term catch-up.

Take a look at CatchupSubscription in the client api. It handles the switching between reading history (read events forward) and live subscriptions for you. If listening to a stream you can point at stream. If listening to $all you can point at $all. From there you basically just need to handle the actual updating of whatever read model and saving your checkpoint (saving it with whatever you are doing transactionally also moves from atleast once messaging to only once messaging).