微服务拆分技巧

管理员

微服务架构整体思路

  拆分方式

    按业务拆分微服务

    按质量拆分微服务

  基础设施要求

    搭建完善基础设施

    搭建核心基础设施 再演进

  落地方式

    一部到位

    逐步落地

  常见场景落地建议

  

 按照业务拆分微服务

  DDD介绍

    战略设计

      领域 对应微服务的子域

      限界上线文 对应微服务的服务

    战术设计

      聚合根、实体、值对象:对应面向对象方法的对象

      聚合根: 核心有状态的对象

      实体: 有状态的对象

      值对象: 无状态的对象

    问题:

      限界上下文划分不明确

  实际业务中如何划分

    1、听专家的 2、超已有例子 3、先粗略再演进

微服务拆分技巧

  三个火枪手原则 平均三个程序员负责一个微服务

    微服务数量 = 开发人员/3    一拖二   维护期时可以两人

按质量属性拆分服务

  按性能拆分微服务

    将流量大的服务及强业务关联的服务拆分出来 降低业务相互影响,拆分后优化流量大的业务,性能提升成本降低

  按业务重要程度拆分

    将重要程度高的业务拆分出来(不一定是流量最大的)    降低业务相互影响,提升重要业务高性能高可用

  可用性拆分

    将经常出问题的业务拆分 然后针对性处理

  按照稳定性拆分

    按照迭代频率进行拆分 方便频繁变动的业务迭代