Libraries to Migrate events to a read model

Hi,

I was wondering whether there are any good libraries in C# to migrate a stream of events to a read model.

I could write something myself, but don’t want to reinvent the wheel if it’s already been done.

Any help/pointers appreciated.

Kind regards

Sean.

This is something I have been surprised that more people have not focused on in general dealing with event sourced systems). There are definitely places here for libraries but most seem to write their own (not just with eventstore but in general.

eventflow?

You make it sound simple.
Are you at the beginning of your event-sourcing journey?

:slight_smile:

If you know how you’d like it done, and have the capability to create it, then I would advise you to roll your own for now - even if only as a prototype.

You might need to widen your views to accommodate currently-unforeseen challenges - which an off-the-shelf lib/fwk might not provide for in a way that suits you.

Plus it’s helpful to concentrate on the needs of the domain you’re serving, rather than the framework you’re implementing it with.

If I was you, and if I really wanted to adopt a library now, then I’d follow Dure’s suggestion and look at EventFlow. When I’ve finished learning how to (and not to) do it the hard way, I might end up back there myself.

Have fun. Share your findings.

Hi,

I have created a sample with eventstore, rabbitmq and elasticSearch https://github.com/DureSameen/EventFlowWithElasticSearch It might be interesting point to start with.

regards

Hi,

I usually create a Synchroniser program using a CatchUp subscription (fromall or fromcategory) for subscribing the events.

In the event handler I then use an indexer to store docs in Elastic Search. This operation need to be done in batches otherwise the time it takes if you index one doc by one is huge.

The Synch program is also responsible to save the last position in Elastic Search and restart from it.

Here is a Gist with a generic C# Indexer for Elastic Search

https://gist.github.com/riccardone/bf3e7c4b5ffc754ee24c6f10615a074b

As soon as I can I will write another Gist for the Synchroniser program and a doc on my blog.

Hope this helps

Riccardo