扩展中台能力——通用sidecar
什么是SideCar
简而言之,SideCar就是在docker实例内部与服务(上图Service A)独立的一个服务,如上图的proxy A.服务可以通过本地socket、共享内存等方式与SideCar进行通信。
SideCar开发模式
抽象来看,SideCar可以成为一种新的开发模式,它是介于rpc调用和本地库之间一种模式。我们可以将SideCar通用化,将原先实在独立rpc服务内部的业务逻辑搬到SideCar中。service mesh、databus、bagent等都可以理解为SideCar,只是他们相对定制化。
SideCar的优势
- 对于Settings/Config/Dolphin等场景可以减少一次外部网络调用,速度更快
- SideCar中的逻辑对业务透明,可大大降低基础能力的升级成本,比如GDPR改造
- 收敛通用能力,便于添加新的功能,无需业务改造
- 本地容灾能力
应用场景
- 配置服务,比如TCC
- Dolphin
- 本地缓存
- 各种client,比如rpc/redis/mysql/tmq
- 各种通用库,shark/whale等