The notion of a CDM is rejected by the microservice integration pattern because microservices do not require them. CDMs encourage users to share data through a common channel. If we go by this idea, then a user will bind themselves to using the same technology in all microservices, which is eventually contradictory to the polyglot nature of microservices. If you share the model, you are coupling microservices and will lose one of the greatest advantages in which each team can develop its microservice without restrictions and the need of knowing how others' microservices evolve. Major things to keep in mind in microservices data modeling are:
- Loose coupling: Any microservices should be able to be modified without affecting any other microservices
- Problem locality: Identified problems should be grouped together
One thing leads to another from both of them. For loose coupling, we need a clean contract about the model of data.
The microservices approach to...