I’m very new to Event Store, and event sourcing in general. I was hoping to get some questions answered about design patterns for system architecture and scaling.
First off, I am writing a social app which (i hope) will take off and require massive amounts of storage. I was hoping to host EventStore on Azure (possibly in service fabric), however I’m not entirely certain what the scaling ramifications are. In a clustered deployment, does adding more server instances equate to adding more to the quorum count or adding more partitions of data? I don’t want to scale up instance count only to just be adding latency to writes because the only thing its doing is adding the more noise to the quorum. My primary concern is data scale, and latency - I don’t have a ton of benchmarks yet to give, but I was hoping for some general guidance on good production deployments.
Second, I am building microservices to facilitate the application architecture. Should I host a separate instance of Event Store per microservice? Furthermore, should I front end the event subscriptions with service endpoints so that each microservice encapsulates the details of the underlying store?
Finally, I would imagine the given a domain X i would have a stream for each aggregate entity in X (X-123). Is there a way to consume all events for X instead of consuming X-123 individually?
Hope this make sense, I’m a bit lost/ star struck by event sourcing and need pointed in the right direction. Sorry if these are asked in other places, I just wanted a concise place to get answers.