My company has implemented a project using event sourcing mainly for replication.
Events are PULLED from 80 different locations by replication system running on a central registry where read models were built.
We have used NEventStore on top of MS SQL Server for event store databases.
Now we are about to implement much larger project which would store between 500M and 1B of aggregates / streams (up to 50 events per stream in 5 years).
We find that EventStore has many features that would help us a lot to solve some problems:
1.) Classify events by using linkTo and creating streams for each microservice / bounded context
2.) Classify events by using linkTo and creating streams for each event type
3.) Have one stream for all events (using linkTo)
4.) Subscribe (permanent subscription) to streams interested by microservice (all, bounded context or event type)
5.) Remove service bus for integration (except for some other messages that are out of scope of this problem)
We also considering option where all microservices would use the same EventStore DB.
This project is mission criticalt, technology must be reliable, performant and must allow regular back-ups.
Can EventStore satisfy our requirements?