云原生时代的流量入口:Envoy Gateway( 三 )


API Plane 作为 API 平面,主要?于对 K8S CRD、MCP 或 SMI 接口做面向业务功能的 API 组合、转换处理 。
管理控制台是控制面最上层组件,也是研发、运维人员直接操作的平台组件 。
场景地图在 Envoy Gateway 技术栈基础上,可以适应入口七层代理、API 网关、Ingress、单元化机房路由、FaaS 函数路由等多种场景落地应用 。

云原生时代的流量入口:Envoy Gateway

文章插图
 
1、入口七层代理
云原生时代的流量入口:Envoy Gateway

文章插图
 
在流量入口场景下,可以承担 HAProxy、Nginx 等传统代理职责 。
2、API 网关
云原生时代的流量入口:Envoy Gateway

文章插图
 
在微服务场景下,承担分解流量、路由、治理、审计等丰富职责 。
3、Ingress
云原生时代的流量入口:Envoy Gateway

文章插图
 
在容器化场景下,可以作为能力更丰富的 Ingress 实现 。
4、通用网关
云原生时代的流量入口:Envoy Gateway

文章插图
 
在完整使用 Envoy Gateway 方案下,可以省去原有入口七层代理 -> API 网关 /Ingress 的链路,由一层通用网关(Envoy Gateway)完成 。
落地路线目前 Envoy 以两类角色在业界落地:一是作为 Service Mesh 数据面组件选型,目前在 Istio 等多种服务网格框架落地;二是作为流量入口代理,目前较多的是以 API 网关形式实现,如 Gloo、Ambassador 等 。网易内部多个业务团队已经实现了数据面技术栈从 Java 异步化代理、Kong 到 Envoy 的升级,基于网易轻舟 Envoy Gateway 作为流量入口标准组件 。
由于 Envoy Gateway 与 Service Mesh 使用了相同的 Envoy+Istio 技术栈,使得不论 Envoy 作为 Gateway,或 Service Mesh 中的 Sidecar,都可以被统?控制面管控,在提升了该技术栈整体可维护性基础上,还可以帮助业务逐步演进到 Service Mesh 架构:如果业务对 Service Mesh 架构尚存疑虑,可以先落地 Envoy Gateway,后续待时机成熟再引入 Service Mesh 架构,完成整体微服务技术架构的演进与统一 。
网易轻舟 Envoy Gateway 大规模落地基于以上背景与设计,网易轻舟云原生团队实现了 Envoy Gateway,并且已经在网易多个核心业务大规模落地:
  • 网易传媒(新闻)已经实现全站流量通过轻舟 Envoy Gateway 暴露
  • 网易严选已经实现上云服务全部流量通过轻舟 Envoy Gateway 暴露
  • 网易有道、云信、Lofter 等网易核心互联网业务流量通过轻舟 Envoy Gateway 暴露
如下为网易轻舟 Envoy Gateway 控制台部分线上业务管理视图:
云原生时代的流量入口:Envoy Gateway

文章插图
 

云原生时代的流量入口:Envoy Gateway

文章插图
 
写在最后Envoy Gateway 能否真正意义成为云原生时代流量入口标准目前尚不得知,但在业务落地过程中,我们已经看到了这套技术栈为业务所能带来的架构、性能、治理、可观测性等方面的红利 。在越来越多业务接入 Envoy Gateway、Service Mesh 过程中,相关的工程化平台建设、排障工具等也在不断完善,我们拭目以待 。
参考链接
Envoy 官方文档: https://www.envoyproxy.io/docsIstio 官方文档: https://istio.io/docsEnvoy 实践: https://www.jianshu.com/p/90f9ee98ce70WebAssembly 中文官方文档: https://www.wasm.com.cnService Mesh 发展趋势 (续):棋到中盘路往何方: https://msd.misuland.com/pd/3545776840385758572_
作者简介:
裴斐,网易杭州研究院轻舟云原生技术专家、架构师 。10 年企业级平台架构和开发经验,目前主要负责网易轻舟微服务治理团队,专注于企业微服务架构及云原生技术的研究与落地工作 。带领团队完成网易轻舟 Service Mesh、微服务框架 NSF、API 网关等多个项目在网易集团落地及商业化产品输出 。




推荐阅读