服务网格成熟度一直晋升,云原生环境下流量解决愈发重要,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 Gateway 我的项目:https://github.com/envoyproxy/gateway
- Hango 我的项目:https://github.com/hango-io/hango-gateway
网易数帆云原生架构选定 Envoy
在云原生技术体系建设中,网易数帆非常重视对立技术栈,认为这样能力升高研发老本,真正施展云原生的劣势。网格网关体系之所以抉择 Envoy,不仅仅是因为 Envoy 是 Istio 数据面默认的 Sidecar,更因为它是性能与性能都十分优良的“双优生”。尔后在网易严选业务的实际,验证了这一抉择的正确性。
网格侧,网易数帆认为,Istio + Envoy 对微服务流量和服务治理的良好形象,带来了对立服务化层技术栈的曙光。同时 Envoy 领有不低于 Nginx 的转发性能,但在治理能力和控制能力(UDPA)方面,却比 Nginx 灵便得多。在网易严选过后的测试中,采纳 eBPF/xDP(sockops),优化门路为 SVC <-> Envoy,提早性能晋升 10-20%。
详见:
- 从 Consul+Nginx 到 Istio,网易严选 Service Mesh 架构的继续演进
- 落地三年,两次架构降级,网易的 Service Mesh 实际之路
网易严选网关的降级,则思考轻舟微服务体系的无缝交融以及支流的产品实现,同样采纳 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 裸露
详见:
- 从 Kong 到 Envoy,网易严选网关架构演进之路
- 云原生时代的流量入口: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。
详见:
- Hango 开源解读:云原生网关实际,为何要抉择 Envoy?
- 云原生 API 网关 – 开源我的项目 Hango 网关设计与实际
展望未来,网易数帆致力于扩充轻舟云原生体系“出圈”规模融入产业数字化,作为一个外围模块的轻舟 Envoy Gateway 也会 加码产业利用场景落地能力,如多集群高可用、协定转换等金融场景刚需能力的加强。同时,轻舟 Envoy Gateway 的更多能力也会通过 Hango Gateway 开源进去。
继续奉献,国内惟一 Maintainer 出炉
目前网易数帆轻舟团队已累计向 Envoy 社区奉献 60+ PR,超过 14,000+ 新增代码,笼罩了 Envoy 的有状态会话放弃、Tracing 能力加强、Lua script 的反对和 Dubbo 治理能力加强等外围性能。
2022 年 3 月,Envoy 社区邀请网易数帆云原生专家、资深架构师王佰平成为社区 Maintainer——这是国内首位且惟一的 Envoy Maintainer,同时也是 Dubbo Extension Senior Maintainer,表明了社区对网易数帆继续奉献的认可。
详见:
- 破浪人丨国内首位 Envoy Maintainer!王佰平独家讲述四年开源之路
Envoy Maintainer 助力解锁 Envoy 新技能
在成为 Envoy Maintainer 之前,王佰平也踊跃通过文章、直播、线下分享的形式,屡次解读 Envoy 技术倒退以及 Envoy Gateway 在内的相干实际。
详见:
- 网易数帆基于 Envoy 的云原生网关实际
- Envoy 架构及其在网易轻舟的落地实际
- Envoy WASM 源码抽丝剥茧
- Istio1.5 & Envoy 数据面 WASM 实际
- Envoy- 入门介绍与 xDS 协定
- Envoy- 插件模型与插件配置
最初,欢送读者敌人踊跃参加 Envoy 和 Hango 社区,共创云原生的将来。
- Envoy Gateway 我的项目:https://github.com/envoyproxy…
- Hango 我的项目:https://github.com/hango-io/h…
2022 年 5 月 13 日至 6 月 15 日,Loggie 社区面向云原生、可观测性及日志技术爱好者发动 Loggie Geek Camp 开源合作流动,以“性能之巅,观测由我”为主题,让参与者感触开源文化的精华与开源社区的创造力,共创云原生可观测性的将来。包含提供 user case、捕获 bug、欠缺和提交 feature 等四类工作,提交内容通过社区审核即为胜利,体现优异者将可取得网易数帆及 Loggie 社区表彰。欢送拜访链接理解和参加:https://sf.163.com/loggie