流量网关和微服务网关必须分开构建吗?
在容器技术和 K8s 主导的云原生时代,这个命题正浮现出新的答案。
更经济:将流量网关与微服务网关合二为一,用户资源成本直降50%
流量网关(如 Nginx )是指提供全局性的、与后端业务应用无关的策略,如 HTTPS 证书卸载、Web 防火墙、全局流量监控等;微服务网关(如 Spring Cloud Gateway )是指与业务紧耦合的、提供单个业务域级别的策略,如服务治理、身份认证等。
在虚拟化时期的微服务架构下,业务通常采用流量网关 + 微服务网关的两层架构,流量网关负责南北向流量调度和安全防护,微服务网关负责东西向流量调度和服务治理,而在容器和 K8s 主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关 + 微服务网关合二为一成为可能。
此次阿里云 MSE 发布的云原生网关在能力不打折的情况下,将两层网关变为一层,不仅可以节省50%的资源成本,还可以降低运维及使用成本。部署结构示意图如下,左边为传统网关模式,右图为下一代云原生网关模式。
云原生网关部署示意图
更安全:提供丰富的认证鉴权能力,降低客户的安全接入成本
认证鉴权是客户对网关的刚需,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万笔请求,日请求量达到百亿级别。
阿里巴巴内部云原生网关业务落地简图
商业化后,MSE 云原生网关提供后付费和包年包月两类付费模式,支持杭州、上海、北京、深圳4个 region,并会逐步开放其他 region,新用户首购立享限时折扣,可钉钉搜索群号 34754806 可加入用户群交流。