关于gateway:阿里巴巴在-Envoy-Gateway-的演进历程浅析

66次阅读

共计 2334 个字符,预计需要花费 6 分钟才能阅读完成。

简介:最近浏览《Envoy Gateway 来了》这篇文章,深感 Envoy 弱小的可扩展性和基于 Envoy Gateway 带来的易用性,在 K8s 架构下,Envoy 从新定义了网关的定位和能力,被誉为云原生网关,甚至被称之为下一代网关。阿里巴巴早在 2018 年就启动了下一代网关的摸索之路,本文将对这个摸索历程做一个简略介绍。

作者:耿蕾蕾(如葑):阿里云研发工程师,从 2020 年 5 月负责 Envoy Gateway 的构建到推出 3.0,作为技术负责人主导了整个演进过程,在云原生网关畛域有着丰盛的实际。

最近浏览《Envoy Gateway 来了》这篇文章,深感 Envoy 弱小的可扩展性和基于 Envoy Gateway 带来的易用性,在 K8s 架构下,Envoy 从新定义了网关的定位和能力,被誉为云原生网关,甚至被称之为下一代网关。阿里巴巴早在 2018 年就启动了下一代网关的摸索之路,本文将对这个摸索历程做一个简略介绍。

阿里巴巴早在 2018 年,就开启了云原生上云的尾声,将容器、服务网格作为核心技术点进行演进,并尝试阿里巴巴和蚂蚁通过这次技术演进,来对立单方的中间件技术栈,让业务更聚焦业务开发,屏蔽底层分布式复杂度。作为服务网格一个重要方向,咱们开启了下一代网关的摸索之路。

Envoy Gateway 1.0(孵化期)

上云过程中,咱们冀望对立利用架构技术栈,然而蚂蚁和阿里巴巴的 RPC 协定不同,存在互调链路长、协定转换耗费大、Tengine Reload 拜访有损(接入失效快就须要一直 reload 有损,如果管制 reload 影响,就要缩小 reload 次数,接入服务失效慢)、Nginx 内核服务治理能力较弱等问题。因而,须要一个面对将来的网关解决方案。

过后,咱们有两个技术演进思路,一个是基于 Tengine 进行优化,一个是基于 Envoy 内核来扩大网关场景,思考到 Tengine 解决这些场景架构变动太大,Envoy 作为网关的第二选项,可能简略的解决上述痛点,因而,咱们抉择了 Envoy 内核作为下一代的网关演进方向,而且从 CNCF Ingress Provider 的统计数据来看,Envoy 也是增长最快的,社区接受度高。

在 2020 年 5 月,咱们启动了 Envoy Gateway 1.0 的研发,同年胜利撑持了双 11 大促,且成为外围重保的业务链路。image.gif

Envoy Gateway 1.0 次要是利用于东西向流量的 RPC 互通,其架构部署如下图:

这个期间,咱们面对将来演进了 Dubbo3.0 的 Triple 协定,基于 Envoy,演进了网关的服务治理能力,撑持了当年双十一本地生存战斗数十万 TPS 的流量洪峰。

Envoy Gateway 2.0(成长期)

随着阿里巴巴上云战斗的推动,越来越多的场景找到咱们,如云上云下业务互通,因为 Tengine 服务治理弱导致阿里外部大量二层微服务网关须要收敛,因而从业务上咱们须要做 Tengine+Envoy 两层网关的演进,承当南北向网关流量。在 2020 年 12 月份咱们开始了 2.0 架构的演进,上面以优酷场景为例阐明演进过程如下图:

Envoy Gateway 2.0 南北向的架构图如下:

在两层架构中,Envoy 网关更多承当了微服务网关和微服务治理的需要,和 Tengine 流量网关实现了整合。在这个过程中,咱们晋升了服务治理和高可用能力,并且撑持优酷外部多个二层微服务网关对立,大幅晋升性能和运维效率。

2.0 阶段,Envoy Gateway 实现了东西向、南北向全域流量的调度散发,东西向上不仅反对跨业务域的蚂蚁 RPC 互通,更是扩大到了混合云的云上云下的 RPC 互通场景,包含钉钉文档、阿里视频云、达摩院的店小蜜、智慧数字人等,2.0 阶段的业务大图如下(云上云下互通场景,以钉钉为例阐明):

随着 Envoy Gateway 业务的疾速铺开,在跟优酷继续单干时大家不谋而合的提出了一个问题:Tengine Gateway(承当流量网关角色)+ Envoy Gateway(承当微服务网关角色)的两层网关是否能够合并,应用 Envoy Gateway?答案是必定的,而且咱们也单干设计了新的架构图,如下:

这个计划的演进,让咱们看到了网关新的倒退态势,尤其在以 K8s 主导的容器化背景下,K8s 集群内外网络的人造隔离性,用户也须要一款兼顾高性能与安全性、以及弱小服务治理能力的入口网关,这也为咱们走向 3.0 提供了很好的积攒。

Envoy Gateway 3.0(成熟期)

随着阿里巴巴大量场景的打磨,Envoy 网关性能、稳定性都取得了很好的倒退。2021 年,阿里巴巴开启了中间件三位一体战斗,用云产品撑持团体业务,因而咱们也将孵化成熟的技术通过 MSE 云原生网关来服务团体。

此时,咱们通过 Envoy 将流量网关 + 微服务网关合二为一的同时,还通过硬件加速、内核优化等伎俩,在性能不打折的状况下,继续优化网关的资源部署老本。

技术架构决定技术劣势,Envoy 人造的可扩展性,还能将丰盛的平安认证和微服务治理能力进行集成,体现了云原生网关高聚合的劣势,例如:

  • 网关直连业务 PodIP,不通过传统 Cluster IP,RT 更低
  • 反对 HTTPS 硬件加速,QPS 晋升 80%
  • 反对 Wasm 插件市场,插件热加载,满足多语言自定义插件需要
  • 自研 Multi-Ingress Controller 组件反对多集群 Ingress 复用同一个网关实例
  • 原生兼容 K8s Ingress 标准,且反对 Nginx Ingress 外围性能注解的无缝转化

回馈社区

咱们在对 Envoy Gateway 进行演进的过程中,也提了很多社区 issue,包含:dubbo_proxy、wasm、cryptomb 等,将来咱们会陆续回馈社区,作出更多奉献,和社区独特打造下一代网关。

原文链接
本文为阿里云原创内容,未经容许不得转载。

正文完
 0