Subsystems / plugins

Hello again

I’ve noticed there is a concept of subsystems in the codebase. Are there any plans to open it so that I, as a user, can register my own subsystems/plugins? Such a subsystem might for example contain native projections or things like competing consumers/persistent projections.

EventStore would load the plugins from the bin folder on startup. There probably should be also some way to ensure cluster-wise integrity such as checking if all nodes of the cluster have the same plugins (by comparing hashes of plugin assemblies?)


How would you upgrade a node without taking all down?

Use semver instead of hashes. If major version if ES or any plugin changes, requires taking all down. Otherwise plugins with different minor versions would be expected to work. I am talking about something like raven boundles, not something every dev would implement for his ES deployment.