EventStore and Kinesis Streams


We have an event sourced architecture following CQRS prnciples. We use Akka toolkit on our server side where we create persistent actors and the events are stored in EventStore. We also have some views(for online channels) which are fed through Amazon Dynamo DB. So for updating the views on Dynamo DB, we create event streams from Event Store using Akka read plugins and update the Dynamo DB tables. But we are consistently facing issues while updating the views mostly related to managing the streams.

What I was thinking if we push events from EventStore to Kinesis streams(managed service) which can trigger AWS Lambda which would update Dynamo DB tables. So for every persistence ID(stream) on ES, will have a Kinesis stream to ensuring ordering while building the views. This would make our read side(View) completely serverless to an extent.

Has anybody tried that or can share 2 cents on pros and cons?



I am also interested in using JS projections to push events into kineses. Have you made any progress in this direction? I expect to start looking into this in the next three to four weeks.



Hi Lazar,

Have not tried it yet. But have not thought of using projections to push events into kinesis. Will that be possible? Have not used projections that extensively.


Just have your projection write to a stream then have a little service that reads from the stream and pushes into kinesis (catchupsubscription is most likely)

Thanks Greg. This is what we plan to do.