SOFAMesh由蚂蚁金服开源,在兼容Istio整体架构和协议的基础上,做出部分调整:

  1. 使用Go语言开发全新的Sidecar,替代Envoy
  2. 为了避免Mixer带来的性能瓶颈,合并Mixer部分功能进入Sidecar
  3. Pilot和Citadel模块进行了大幅的扩展和增强

我们的目标:打造一个更加务实的Istio落地版本!

SOFAMesh中Golang版本的Sidecar,是一个名为MOSN(Modular Observable Smart Netstub)的全新开发的模块,实现Envoy的功能,兼容Envoy的API,可以和Istio集成。

SOFAMesh MOSN

此外,我们会增加对SOFARPC、Dubbo等通讯协议的支持,以便更好的迎合国内用户包括我们自身的实际需求。

由于Sidecar相对独立,而且我们也预期会有单独使用MOSN的场景,因此MOSN的代码仓库是独立于SOFAMesh的,地址为:

2.SOFAPilot

我们将大幅扩展和增强Istio中的Pilot模块:

  1. 增加SOFARegistry的Adapter,提供超大规模服务注册和发现的解决方案
  2. 增加Open Service Registry API,提供标准化的服务注册功能

MOSN和SOFAPilot配合,将可以提供让传统侵入式框架(如Spring Cloud,Dubbo,SOFA RPC等)和Service Mesh产品可以相互通讯的功能,以便可以平滑的向Service Mesh产品演进和过渡。

Pilot和后面会陆续开放的Mixer\Citadel等Istio模块,会统一存放在同一个从Istio Fork出来的代码仓库中。未来会持续更新Istio最新代码,以保持和Istio的一致。