微服务拆分的原则:
原则一,做到单一服务内部功能的高内聚和低耦合。
原则二,你需要关注服务拆分的粒度,先粗略拆分再逐渐细化。
推荐的做法是:拆分初期可以把服务粒度拆得粗一些,后面随着团队对于业务和微服务理解的加深,再考 虑把服务粒度细化。
原则三,拆分的过程,要尽量避免影响产品的日常功能迭代。
剥离的顺序你可以参考以下几点:
1. 优先剥离比较独立的边界服务(比如短信服务、地理位置服务),从非核心的服务出发减少拆分对现 有业务的影响,也给团队一个练习、试错的机会;
2. 当两个服务存在依赖关系时优先拆分被依赖的服务。比如内容服务依赖于用户服务获取用户的基本信 息,那么如果先把内容服务拆分出来,内容服务就会依赖于一体化架构中的用户模块,这样还是无法保证内 容服务的快速部署能力。
原则四,服务接口的定义要具备可扩展性。
此文章为5月Day25学习笔记,内容来源于极客时间《高并发系统设计 40 问》