简介: 在容器和K8s主导的云原生时代,网关的新形态变得逐渐清晰,阿里内部也孵化出了下一代的网关产品 - 云原生网关,已在支付宝、淘宝、优酷、口碑等业务成功上线,并且经历了2020双11大促海量请求的考验,目前该产品已正式商业化,旨在为用户提供更可靠的、成本更低、效率更高的符合K8s Ingress标准的企业级网关产品。
传统网关分类及部署模式
行业中通常把网关分为两个大类:流量网关与业务网关,流量网关主要提供全局性的、与后端业务无关的策略配置,例如阿里内部的的统一接入网关 Tengine 就是典型的流量网关;业务网关顾名思义主要提供独立业务域级别的、与后端业务紧耦合策略配置,随着应用架构模式从单体演进到现在的分布式微服务,业务网关也有了新的叫法 - 微服务网关(图示说明如下)。在目前容器技术与 K8s 主导的云原生时代,下一代网关模式依然是这样吗?
下一代网关产品画像
正如上文图中的提问:在容器技术与 K8s 主导的云原生时代,下一代的网关模式仍然会是传统的流量网关与微服务网关两层架构吗?带着这个问题并结合阿里内部沉淀的网关技术与运维经验,我们尝试为下一代网关产品做了产品画像,说明如下:
作为下一代网关产品,我们对其中几个非常核心的要素展开说明下:
- 云原生:要支持标准 K8s Ingress、K8s Gateway API 以及 K8s 服务发现,在云原生时代 K8s 已经成为云 OS,而 K8s 原生集群内外部的网络是隔离的,负责外部流量进入 K8s 集群的规范定义就是 K8s Ingress,K8s Gateway API是 K8s Ingress 的进一步演化,基于此作为下一代网关势必要支持这种特性。
- 拥抱开源:要基于开源生态构建网关,借助开源并助力开源,相信这点大家应该都不陌生。
- 高扩展:任何一个网关的能力都不可能覆盖所有的用户诉求,要具备可扩展能力,例如 K8s 的蓬勃发展与其开放的扩展能力功不可没。
- 服务治理:随着应用架构演进到分布式微服务,网关本身就是为后端业务提供流量调度能力,其支持基本的服务治理能力也就顺其自然了。
- 丰富的可观测性:分布式微服务架构带来协同效率提升等益处的同时,对于问题排查及运维带来了更大的挑战,作为流量桥头堡的网关需要具备丰富的可观测数据,帮助用户来定位问题。
云原生网关的诞生
基于上述我们对下一代网关的理解,率先在阿里内部推出了云原生网关,并成功在多业务上线部署且经历了双11大促的考验,云原生网关图示说明如下:
云原生网关的产品优势
更经济:将流量网关与微服务网关合二为一,用户资源成本直降50%
在虚拟化时期的微服务架构下,业务通常采用流量网关 + 微服务网关的两层架构,流量网关负责南北向流量调度和安全防护,微服务网关负责东西向流量调度和服务治理,而在容器和 K8s 主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关 + 微服务网关合二为一成为可能。
此次阿里云 MSE 发布的云原生网关在能力不打折的情况下,将两层网关变为一层,不仅可以节省50%的资源成本,还可以降低运维及使用成本。部署结构示意图如下,左边为传统网关模式,右图为下一代云原生网关模式。
在微服务的大背景下,丰富的可观测能力也是用户的基础核心诉求,云原生网关基于此默认集成了阿里云应用实时监控服务ARMS,提供丰富的可观测数据,且该功能对用户免费。
更安全:提供丰富的认证鉴权能力,降低客户的安全接入成本
认证鉴权是客户对网关的刚需,MSE 云原生网关不仅提供常规的 JWT 认证,也提供基于授权开放网络标准 OAuth 2.0 的 OIDC 认证。同时,MSE 云原生网关天然支持阿里云的应用身份服务 IDaaS,帮助客户实现支付宝、淘宝、天猫等的三方认证登录,并以插件的方式支持来扩展认证鉴权功能,以降低客户的安全接入成本。现有认证鉴权功能如下图:
更统一:网关直连后端服务,打通 Nacos/Eureka/K8s 多种服务来源,并且率先支持 Apache Dubbo3.0 协议
开源已经成为推动软件发展的源动力之一,面向社区标准、开放的商业产品更有生命力。
Envoy 是最受 K8s 社区欢迎的 Ingress 实现之一,正成为云原生时代流量入口的标准技术方案。MSE 云原生网关依托于 Envoy 和 Istio 进行构建,实现了统一的控制面管控,并直连后端服务,支持了 Dubbo3.0、Nacos,打通阿里云容器服务ACK,自动同步服务注册信息。MSE 云原生网关对 Dubbo 3.0 与 Nacos 的支持,已经率先在钉钉业务中上线,下图是钉钉 Dubbo 3.0 落地的部署简图如下:
更稳定:技术积淀已久,历经 2020 双 11 考验,每秒承载数 10 万笔请求
商用产品并非一朝一夕。
MSE 云原生网关早已在阿里巴巴内部经历千锤百炼。目前已经在支付宝、钉钉、淘宝、天猫、优酷、飞猪、口碑等阿里各业务系统中使用,并经过 2020 双 11 海量请求的考验,大促日可轻松承载每秒数 10 万笔请求,日请求量达到百亿级别。
云原生网关适用场景
云原生网关目前可以涵盖南北向、东西向全业务场景,即可以支持传统的注册中心,例如 Nacos,也可以支持 K8s Service,同时也可以支持传统 ECS,下面通过图示说明如下:
写在最后
目前云原生网关已正式商业化,旨在为用户提供更可靠的、成本更低、效率更高的符合 K8s Ingress 标准的企业级网关产品,更多发布详情移步直播间观看:下一代网关——云原生网关商业化发布-云栖号-阿里云
原文链接
本文为阿里云原创内容,未经允许不得转载。