扩展中台能力——通用sidecar

什么是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等