龙空技术网

网易数帆 Envoy Gateway 实践之旅——越来越好

java月亮不睡我不睡 181

前言:

当前同学们对“nginx文件不落地”大体比较关注,我们都需要分析一些“nginx文件不落地”的相关知识。那么小编在网络上收集了一些关于“nginx文件不落地””的相关文章,希望同学们能喜欢,各位老铁们一起来了解一下吧!

服务网格成熟度不断提升,云原生环境下流量处理愈发重要, Envoy Gateway 项目于近日宣布开源,“旨在大幅降低将 Envoy 作为 API 网关的使用门槛”,引发了业界关注。2018 年 11 月,Envoy 成为 CNCF 毕业项目,开始作为一款高性能数据和服务代理软件为从业者所知,但此后两三年,国内 API 网关实践中,选型 Envoy 仍是一条较为孤独的道路。

作为国内云原生实践的先行者,网易数帆轻舟云原生团队早在 2017 年就探索基于 Istio 和 Envoy 实现服务网格平台及 API 网关,并于 2019 年完成该体系在严选电商业务的成熟应用。践行及今 6 载, 在企业侧,网易数帆 Envoy Gateway 承载了互联网、银行、证券、能源等多行业头部企业核心业务流量,经受了百亿级日流量的考验;在社区侧,团队于 2021 年开源了基于 Istio 和 Envoy 研发的 Hango Gateway,2022 年诞生了国内唯一的 Envoy Maintainer。

在此过程中,网易数帆也多次分享了 Envoy Gateway 相关实践,并曾于 2020 年就网关技术路线展开讨论,力陈 Envoy Gateway 的优势,与社区同道共同推动并见证 Envoy 不断成熟。网易数帆认为, Envoy Gateway 的开源,为 Envoy 成为标准数据面组件带来了一个良好的开端。

网易数帆云原生架构选定 Envoy

在云原生技术体系建设中,网易数帆非常重视统一技术栈,认为这样才能降低研发成本,真正发挥云原生的优势。网格网关体系之所以选择 Envoy,不仅仅是因为 Envoy 是 Istio 数据面默认的 Sidecar,更因为它是 功能与性能都非常优秀的 “双优生” 。此后在网易严选业务的实践,验证了这一选择的正确性。

网格侧,网易数帆认为,Istio + Envoy 对微服务流量和服务治理的良好抽象,带来了统一服务化层技术栈的曙光。同时 Envoy 拥有不低于 Nginx 的转发性能,但在治理能力和控制能力(UDPA)方面,却比 Nginx 灵活得多。在网易严选当时的测试中,采用 eBPF/xDP (sockops),优化路径为 SVC <-> Envoy,延迟性能提升 10-20%

网易严选网关的升级,则考虑轻舟微服务体系的无缝融合以及主流的产品实现,同样采用 Envoy 数据面组件,负责南北向数据流量的代理、路由、治理、遥测等;通过 filterchain 进行扩展,支持基于 Lua、C++ 语言编写插件,WASM 落地后支持多语言方式扩展;并通过 xDS 与控制面组件进行配置下发等动态控制。控制面则以 Istio Pilot 作为基本控制面组件,同时提供 API 层、控制台供用户或第三方平台接入。

基于轻舟 Envoy Gateway 网易严选实现了:

网关管理平台复用,保证用户习惯一致性。LUA 插件复用,方便扩展功能的无缝迁移。函数级别路由能力的支持,为后续 FaaS 的引流铺平了道路。

经过大规模业务生产落地,网易数帆更加体会到 Envoy 的先天优势,并坚信 Envoy Gateway 是云原生业务流量入口的标准技术方案:

较 HAProxy、Nginx 更丰富的功能与 Nginx 相当,远高于传统 API 网关的性能动态管控能力强,具备数据面标准 xDS 协议天然亲和容器环境多语言扩展沙箱 ——WASM

性能方面,在网易数帆的测试中,Envoy 的 TPS 可以达到 12W 左右,而基于 Nginx 的 Kong,TPS 为 5W 左右。

到 2020 年,网易数帆成功推动轻舟 Envoy Gateway 在网易多个核心业务大规模落地:

网易传媒(新闻)已经实现全站流量通过轻舟 Envoy Gateway 暴露网易严选已经实现上云服务全部流量通过轻舟 Envoy Gateway 暴露网易有道、云信、Lofter 等网易核心互联网业务流量通过轻舟 Envoy Gateway 暴露

Hango 开源,进入 CNCF Landscape

2021 年 8 月,网易数帆开源了高性能、可扩展、功能丰富的云原生 API 网关 Hango,并在之后再次从功能、性能、行业影响、技术趋势和最佳实践等方面全面解读了 Envoy 技术路线的优势,以及 Hango 的扩展设计和落地实践。

简而言之,Hango 数据面基于 Envoy 扩展,增强插件链,控制面基于 Istio 进行扩展,完成了微服务网关、七层负载均衡、Kubernetes Ingress 等多场景能力支持。如下是 Hango 网关插件链的数据流,通过创建 EnvoyPlugin CR,Slime 动态监听聚合生成对应的 EnvoyFilter,完成对 Envoy filter chain 的动态扩展。

而 Hango 也获得了云原生从业者的认可,进入了 CNCF Landscape。

展望未来, 网易数帆 致力于 扩大 轻舟云原生体系“出圈”规模融入产业数字化,作为一个核心模块的轻舟 Envoy Gateway 也会 加码产业 应用 场景落地能力 ,如多集群高可用、协议转换 等 金融场景 刚需能力的增强。同时, 轻 舟 Envoy Ga te way 的更多能力也会通过 Hango Gateway 开源出来。

持续贡献,国内唯一 Maintainer 出炉

目前网易数帆轻舟团队已累计向 Envoy 社区贡献 60+ PR,超过 14,000+ 新增代码,覆盖了 Envoy 的有状态会话保持、Tracing 能力增强、Lua script 的支持和 Dubbo 治理能力增强等核心功能。

2022 年 3 月 ,Envoy 社区邀请网易数帆云原生专家、资深架构师王佰平成为社区 Maintainer—— 这是国内首位且唯一的 Envoy Maintainer,同时也是 Dubbo Extension Senior Maintainer,表明了社区对网易数帆持续贡献的认可。

标签: #nginx文件不落地