In a Microservice-based architecture, services are modeled as isolated units that manage independent activities. However, fully functional systems rely on the cooperation and integration of Microservices. Data sharing in a Microservice architecture has its own sets of problems such as:
- Handling big volumes of data
- Consistency guarantees while reducing data-access contention using simple locks
- Whether to share database for master data
Master Data Management (Problem)
Large scale Microservice based applications such as Netflix use different databases for each Microservice. This approach helps the services stay independent of each other. A schema change in one of the service databases does not impact the rest of the services. This approach increases the complexity of data management as the systems may get out of sync or become inconsistent.
A custom or ready-made Master Data Management (MDM) tool should be used that operates in background to fix any inconsistencies...