拆分则体现在如何将集中式的中心化数据转变为个微服务各自拥有的独立数据。这部分工作同样十分具有挑战性。关于业务和数据应该先拆分谁的问题,应该是先数据库后业务代码,也可以是先业务代码后数据库感。然而,在拆分中遇到的最大挑战可能是数据层的拆分。因为在数据库的可能存在各种跨。连接、跨库连接、查询以及不同业务模块的代码和数据耦合变得非常紧密的场景,这会导致服务的拆分非常困难。因此。在分步骤上,我们更多的推荐数据库先行,数据模型能否彻底分开,很大程度上决定了微服务的边界功能是否彻底划清。服务拆分的方法根据数据系统自身的特点和运行状态,通常分为绞杀者和修缮者两种模式。绞杀者模式。pattern指的是在现有的系统外围,将新功能用新的方式构建新的服务的策略以及微服务方式逐步实现对老系统的替换,而不是直接修改原有系统。采用这种。逐渐的,新的服务就会逐渐绞杀脑的系统,对于那些规模很大又难以对现在的架构进行修改的遗留系统推荐。而小模式就如同修房或修路一样,将老旧带修缮的部分进行隔离,用新的方法对其进行单独修复,修复的同时需保证其其他部分仍能够保持系统。这种路出发修缮的模式更多的表现为一种重构技术,具体实现上可以参考Martin floors branch and restrict。之间必须要集成,而这种继承关系远比简单的API调用要复杂。不言,我们的思路是尽量采用标准化的。