在 CNCF 最新发布的云原生全景图 (Cloud Native Landscape) 中,Merbridge 入选 Orchestration & Management (编排与管理) 层的 Service Mesh (服务网格) 象限,成为 CNCF 推荐的云原生服务网格加速器。
CNCF 全称 Cloud Native Computing Foundation (云原生计算基金会),隶属于 Linux 基金会,成立于 2015 年 12 月,是非营利性组织,致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术,普及云原生应用。
云原生全景图由 CNCF 从 2016 年 12 月开始维护,汇总了社区成熟和使用范围较广、具有最佳实践的产品和方案,并加以分类,为企业构建云原生体系提供参考,在云生态研发、运维领域具有广泛影响力。
一键加速 云原生服务网格
Merbridge 是「DaoCloud 道客」在今年 2 月初宣布开源的一个项目,只需要在 Istio 集群执行一条命令,即可直接使用 eBPF 代替 iptables,实现网络加速!
kubectl apply -f https://raw.githubusercontent.com/merbridge/merbridge/main/deploy/all-in-one.yaml
注:当前仅支持在 5.7 版本及以上的内核下运行,请事先升级您的内核版本。
通常 Istio 使用 Sidecar 借助 iptables 技术实现流量拦截,但是,使用 iptables 的技术,对出入口都需要反复拦截,造成了大量的性能损失,这对一些性能要求高的场景有明显的影响。
通过 Merbridge (eBPF) 的优化,出入口流量会直接跳过很多内核模块,明显提高性能。同时,如果两个 Pod 在同一台机器上,那么 Pod 之间的通讯将更加高效。
Merbridge 借助 eBPF 的 sockops 和 redir 能力,可以高效地处理数据包,可以大幅度地减少 Linux 内核处理流量的流程,提升服务之间的通讯质量。
数据显示,通过 Merbridge 使用 eBPF 代替 iptables 之后,整体延迟得到了降低,并且整体 QPS (Queries Per Second,每秒查询率) 得到了提高,服务网格流量拦截和转发的效率得到了明显的提升。
以上数据使用 wrk 测试得出,Latency 越低越好。
以上数据使用 wrk 测试得出,QPS 越高越好。
当前,Merbridge 正在实现对 IPv6 的支持,同时采用 Merbridge CNI 来代替 Istio CNI。CNI 的替代将实现,在网络流量拦截时,不再需要任何 iptables 的能力,达到真正的无感加速,且能兼容 Istio 的配置 (如针对特定端口生效等)。
截止 4 月 21 日,Merbridge 在 Github 已经获得了 313 颗 Star ,其中包括很多 Istio 社区的技术专家,如 Istio TOC 成员,多个讨论组的 Leader 等。