At the moment we have about 10 services that act as providers of data where consumers themselves are responsible for aggregrating the data from different services if needed. Consumers are other services in our control and other teams writing programs that we don’t have control over. This creates a lot of temporal coupling which especially makes testing hard at the moment.
We’re are considering a new approach where each service owns it own write model and projects readmodels to a central storage e.g. a Cassandra cluster. Which means consumers would only need to know about the central storage for their query needs.
What do you think of such a centralized read model storage solution?