微服务拆分原则和方法:
单一职责、高内聚低耦合;
服务粒度适中;
考虑团队结构:(康威定律:设计系统的组织其产生系统的设计和架构等价于组织间的沟通结构。就是指每个团队开发设计和测试发布自己团队的微服务时,要互不干扰系统效率才能得到提升,)
以业务模型切入:(领域模型:对具体某个边界领域的抽象,反应了领域内用户业务需求的本质。领域模型只反应业务与任何技术是现实没有关系的,不仅反应领域间的实体概念还能反应领域间的过程概念)
演进式的拆分;
避免环形依赖与双向依赖:(如:商品服务于订单服务相互依赖)
1.容易造成死循环(服务僵死,或cpu达到100%)
2.在发布上线,代码回滚,故障恢复,和升级重构时,都是要按照一定的顺序进行的
3.会造成服务间紧密耦合,业务很难理解
好的微服务架构具备的特征:
微服务拆分步骤: