central read model storage for small organization


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?

Upps., this post was actual meant for the DDD/CQRS group… But it has relevance here also :slight_smile:

This is very common … It’s a persistent view model :slight_smile:

It can also create a bit of an issue in terms of an issue in terms of deployment as it likely needs to be deployed when any service changes.


I don’t follow, what needs to be deployed when a service changes?

If using a central read model (aggregation) it will tend to be deployed when any service is deployed eg the services are adding new features

A versioning strategy might help here? We might have several versions of a read model..