Istio 开源生态展望
Istio 在中国的发展
- Istio Meetup 于 2021 年 7 月 7 日在北京举办
- 《深入理解 Istio:云原生服务网格进阶实战》预计 2022 年 5 月出版
- 开源项目:Aeraki Mesh、Merbridge、Slime、Hango
Tetrate 开源项目
- Tetrate Istio Distro/GetMesh:Istio 发行版
- func-e:Envoy 构建命令行工具
- wazero:基于 Go 语言编写的 WebAssembly 运行时
- istio-security-analyzer:Istio 安全检测工具
Aeraki Mesh
- 开源于 2020 年 11 月,旨在解决服务网格中的协议支持问题
- 项目定位:Istio 协议扩展,支持 Dubbo、Thrift、私有协议等(已接入超过 5 种协议)
- 支持多种 RPC 模式:PingPong、客户端流式、服务器流式、双向流式
- 服务治理能力:RDS 动态路由、七层负载均衡、熔断、本地/全局限流
- CNCF Landscape Service Mesh 项目推荐,已有成熟商用案例:2022 冬奥直播视频应用、腾讯音乐等
- 官网 | GitHub
Aeraki Mesh 架构
- 控制面:Aeraki + Istio 提供按请求 header 路由、灰度发布、地域感知 LB、流量镜像等高级流量管理能力
- 数据面:MetaProtocol Proxy 实现 RDS 动态路由、负载均衡、熔断、Metrics 和 Tracing 上报等基础能力
Merbridge
- 使用 eBPF 完全替代 iptables 处理流量拦截
- 使用 eBPF 的 msg redirect 加速网络请求
- 无需改造 Istio(无侵入)
- 内核要求 5.7
- CNCF Landscape 项目
- 官网
Proxyless vs Sidecar
- Proxyless 模式优势:延迟低、资源占用少、运维复杂度低
- 对比:
- 资源占用:Proxyless < Sidecar
- 性能:Proxyless ≈ Sidecar
- 稳定性:Proxyless(进程内)> Sidecar(跨进程转发)
- 语言无关性:Proxyless 否,Sidecar 是
- 流控能力:Proxyless 少,Sidecar 多
- 升级维护成本:Proxyless < Sidecar
- 运维成本:Proxyless 无,Sidecar 有(注入、启动顺序、生命周期管理)
学习资源