微服务:真正的架构模式
为每个微服务创建单独的数据存储。 不要让所有微服务都使用同一个后端存储服务。因为使用单一的数据存储,不同团队编写的微服务就可以容易地共享数据库结构,也会减少许多重复的工作。但是,如果某个团队更新了数据库结构,使用该结构的其他服务也需要调整。
将数据分离开,可能使数据管理更加复杂,因为分离的存储系统更容易脱离同步或变得不一致,外键也可能被意外更改。这时你就需要增加工具来执行主数据管理(MDM):后台检测然后修复数据不一致性。例如,它可以检测每个数据库的用户id,来验证所有数据库中的id是否一致(任何数据库中没有重复或多余的id)。你可以自己写工具或者买一个。许多商业版的关系型数据库管理系统(RDBMS)会执行这些类型检查,但是它们耦合性很高导致无法伸缩(出处)。
如果管理实时数据流给你的企业带来巨大的价值,并且你有非常多的开发者,要创建新的服务来消耗数据流、检测数据和产生结果,你肯定愿意投资开发新工具来尽可能简化服务创建和生产环境部署。你会慢慢把工具应用到所有服务上。但是你也要清晰地认识到,拥有可独立操作和实验的动态数据是微服务化的关键。
adolphlwq,博客地址:QuanTalk
原文发布时间为:2016-12-13
本文作者:adolphlwq
本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。
原文标题:微服务:真正的架构模式
374
文章数
73
粉丝数
0
关注的人
网友评论