架构成熟度的演进
虽然业界 没有一种通用的架构成熟度模型可以用来度量,但从单体模块化、到SOA、再到微服务、最后到Service Mesh的架构成熟度级别毋容置疑是逐步上升的。
每个级别都有一系列自己的问题,这些问题需要在下一一个架构的升级来解决。
不同级别有不同的复杂性,不同级别也有不同的侧重点。
- 单体模块化架构
强调业务逻辑按模块划分,高内聚低耦合。模块间通信通过同进程内的方法调用进行。 - 面向服务的架构(SOA)
强调业务逻辑在应用粒度的复用,收口和归一散落的业务逻辑,可以理解为是业务逻辑的水平拆分。服务间通信通过企业服务总线进行,总线上会耦合少量业务逻辑。 - 微服务架构
强调业务逻辑在应用粒度的解耦,可以理解为高内聚低耦合业务逻辑的垂直拆分(业务逻辑虽然扯分了,但业务与通讯、服务治理耦合了)。服务间通信通过RPC或者HTTP进行。 - Service Mesh
强调业务逻辑与服务治理逻辑的分层及解耦,这是另外一种层面的分层和解耦,在业务逻辑和基础实施逻辑间划分出清晰的边界。Service Mesh架构下,服务间通信通过网格进行代理。
所有这些架构模式无一不在强调解耦和复用,而Service Mesh是所有架构模式中解耦和复用最彻底的,它不仅仅强调业务逻辑的解耦和复用,更强调基础设施的解耦和复用。