背景
现在微服务比较流程,那么对于微服务的拆分方法也比较让人困惑。本文从不同的角度切入后以系统的、全面的、统一的方式为各位介绍服务拆分的问题。
问题定义
问题解决
在一个业务是否应该放在某一个特定的服务上
-
几条大原则:
解决问题的三种办法:抽象,分解,知识。
全局、系统的考虑问题。
站在全局的层面思考与解决问题。
服务中心一定是不断发展的。
随着业务的不断发展,服务中心会不断的演进。技术架构设计不是一劳永逸的。
服务中心中的服务形态多样性。
成为业务的服务,成为工具的服务,成为数据的服务等。
服务中心可以演变为服务群。
一个服务可以逐渐的演变为一个独立的业务形态,独立的业务群。
-
静态划分解决方案
-
公司战略层面
每一个服务都是一种能力或多种能力的提供,可以赋能给更前端的应用系统。使用大中台的概念控制公司的战略层面的划分规则。使用这样的结构固化企业的核心业务,使其真正的成为企业的核心。并为创新提供可能。并使用最技术的层面去解决与竞品之间竞争的问题。
公司的战略划分
-
业务管理层面
企业的业务是经过多个层次,逐渐的进行流转的。所以,一个业务可以看成是一个业务流。对于这个业务流中所涉及到的服务为我们服务体系中的服务。而不是某一个业务流就是我们中台,前台,后台中的服务。下图中是阿里体系中的业务流程。这些业务流程设计到纵向的内容就可以拆分成一个个独立的服务。
业务流程
业务的组织形式辐射的形式发散出去。使用业务模型的方法去建立业务层面的服务拆分。针对业务域中的角色,功能进行拆分。在业务规划层面使用ToGaf的架构设计方法AMD去完成企业数字化的设计。
业务划分
很多人认为微服务拆分就是技术的事情。其实在这个过程中上下游的工作形式,工作方法都与技术服务的拆分工作密切相关。在技术层面使用微服务的4个设计原则和19个解决方案+DDD+架构模式+技术考量等等组合成为技术架构层面的拆分规则。
四个设计原则
服务划分策略
精益产品
另外一方面是针对遗留系统的改造。对于遗留系统的改造部分可以参见微服务架构与实践 第二版中的说明进行。
总结
CMMI5
TOGAF Version 9.1
企业IT架构转型之道 阿里巴巴中台战略思想与架构实战
微服务架构与实践 第二版
出处:https://www.jianshu.com/p/5f00f4b635b1