我的理解是,每个服务单独的数据存储是微服务体系结构中的最佳实践。这篇Nginx文章提到了这一点,但它继续倡导一个主数据管理系统,以确保数据在不同数据存储区之间的一致性。两者怎么能和平共处呢?在我看来,每个单独的服务都将与MDM解决方案竞争,以“拥有”创建/更新/主数据的权利。
我希望听到任何有MDM解决方案和每个服务单独的数据存储的人的意见。您使用的是什么MDM工具(S)?不是每个服务“主”都有自己的数据吗?例如,不应该只通过订单微服务来编写订单数据吗?如果MDM解决方案检测到与订单数据的数据一致性有关的问题,它是否指示订单服务对其进行协调?还是在MDM工具中发生这种情况?
此外,如何在不引入服务和MDM解决方案之间不受欢迎的耦合的情况下,支持MDM解决方案?开发服务的团队应该能够根据需要更改模式,但是MDM解决方案需要知道模式的详细信息,从而紧密耦合,对吗?
发布于 2018-12-20 10:26:36
问:实现微服务( microservice,uS)基础设施,加上在顶部/并行地配置一个庞大的MDM系统,有什么好处?
如果不同的uS确实保存了所有相关数据,并且在真正负责的意义上拥有该数据,并且对该数据拥有“主”-system,那么在MDM软件中将该数据放在顶部是没有意义的。
例如:服务A是唯一负责数据A的系统,并且关心将该数据A分发给任何需要A的系统。服务A可能是一个uS,对其数据进行RESTful HA抽象。现在:让S说,用户识别系统B中数据A中的一个错误,为了保持数据的一致性和真实来源,用户不允许在系统B中更改数据A,但是他需要在服务A中更改它,因为服务A是数据A的主人。
在这样的体系结构中:为什么需要一个专用的MDM?你认为如何?
https://softwareengineering.stackexchange.com/questions/381196
复制相似问题