Production use


I have been looking at different event store solutions. So far I'm torn between EventStore and plain old SQL (looking at Postgres with CitusData sharding), although this approach will require a lot of extra systems that needs to we written costing me type and money...

My main question is, has EventStore been battle tested in production? What's the average setup that companies run in production and what is their average load (read and write per second) on their setup?

Something else I'd like to ask is, what kind of stability can I expect on the Mono port? Are there plans to move to dotnet core?

Thanks in advance.

The mono “port” (its actually as old as the CLR version, there was not a port) has been in production for multiple years. I would actually argue that it has better support than core will for quite some time as mono has many features unavailable in core and as its been running in production for a long time its better understood. As an example of a feature deploying without installing mono/binaries only with packages there is no reason to even install mono on a target machine.

There are plans to support core (underway) but mono has literally been supported for years.

I’ve been using it in production systems for over half a dozen years.


There is a plan to move to .NET Core, primarily to pick up the new memory management primitives which will be useful to us, as well as to be on the more modern stack.

It’s tracked at this GitHub issue:, and an RC of version 5.0.0 is due in the next few days. That doesn’t move us to Core, but does a lot of the preparatory work around upgrading dependencies to Core-compatible versions, upgrading the version of Mono against which we build, and moving from compile-time to runtime such that a single set of binaries can work cross-platform.

As Greg mentioned, it will be a while before the .NET Core port has the same level of production testing as the Mono version, since it’s been in production for many years now. FWIW, the Mono version is the original, and the .NET Framework version on Windows is the port, rather than the other way around.