Istio从入门到精通—— 服务治理的形态

发布时间 2023-11-20 11:12:29作者: 左扬

服务治理的形态

  通常认为,服务治理的演变至少经过了以下三种形态。

一、第1种形态:治理逻辑和业务代码耦合

  在微服务化的过程中,服务拆分后,基本的业务连通都成了问题。如下图

  服务调用方的微服务怎么找到对端的服务实例?怎么选择一个对端实例发出请求,等等,都需要业务开发者写代码来实现。

  这种方式简单,对外部依赖少,但存在大量重复的代码。微服务越多,重复的代码越多,维护便越难。而且,业务代码和治理逻辑耦合导致维护困难,不管是对治理逻辑的全局升级,还是对局部业务的升级,都要修改同一段代码。

二、第2种形态:治理逻辑和业务代码解释

  在解决第 1 种形态的问题时,我们很容易想到的方案,是把治理的公共逻辑抽象成一个公共库,让所有微服务都使用这个公共库;还可以把这些公共库构成一个通用的开发框架 SDK,使用这种 SDK 开发的业务代码天然包括这些治理能力,如下图: