Nginx Ingress、ALB Ingress和MSE Ingress对比

ACK、ACK Serverless均支持Nginx Ingress、ALB Ingress和MSE Ingress。Nginx Ingress需要您自行维护,ALB Ingress和MSE Ingress为全托管模式。通过多个维度进行对比,本文介绍Nginx Ingress、ALB Ingress和MSE Ingress之间的差异。

背景信息

  • Nginx Ingress:需要您自行运维,如果您对网关定制有强烈的需求,可以选择Nginx Ingress。

  • ALB Ingress:基于阿里云应用型负载均衡ALB(Application Load Balancer),属于全托管免运维的云服务。单个ALB实例支持100万QPS,提供更为强大的Ingress流量管理功能。

  • MSE Ingress:基于阿里云MSE(Microservices Engine)云原生网关,属于全托管免运维的云服务。单个MSE云原生网关实例支持100万QPS,提供更为强大的Ingress流量管理功能。关于MSE云原生网关的详细介绍,请参见云原生网关概述

典型应用场景

类型

典型应用场景

Nginx Ingress

  • 网关高度定制化。

  • 云原生应用金丝雀发布、蓝绿发布。

ALB Ingress

  • 网关全托管、免运维。

  • 互联网应用七层高性能自动弹性。

  • 云原生应用金丝雀发布、蓝绿发布。

  • 超大QPS、超大并发连接。

MSE Ingress

  • 网关全托管、免运维。

  • 南北向、东西向流量统一管理,微服务网关,全链路灰度。

  • 多个容器集群、PaaS平台、ECS服务共用一个网关实例。

  • 混合云、多数据中心、多业务域的内部互通。

  • 认证鉴权,灵活设置,安全防护要求高。

  • 超大流量、高并发业务。

功能对比

类型

Nginx Ingress

ALB Ingress

MSE Ingress

产品定位

  • 提供七层流量处理能力与丰富的高级路由功能。

  • 自有组件,可根据需求进行高度定制化。

  • 提供七层流量处理能力与丰富的高级路由功能。

  • 专门面向应用层负载场景,与容器深度集成,支持多种服务灰度策略,包括金丝雀、A/B Test、蓝绿、自定义流量比例分发等。

  • 支持超大容量、自动弹性和免运维。

  • 支持与多种云产品结合,如WAF、FC、PrivateLink、TR等。

  • 将传统流量网关、微服务网关和安全网关三合一,通过硬件加速、WAF本地防护和插件市场等功能,构建一个高集成、高性能、易扩展、热更新的云原生网关。

  • 提供七层流量处理能力与丰富的高级路由功能。支持多种服务发现模式和多种服务灰度策略,包括金丝雀发布、A/B Test、蓝绿部署和自定义流量比例分发。

  • 专门面向应用层负载场景,与容器深度集成,网关转发请求时直连后端Pod IP。

产品架构

基于Nginx+Lua插件扩展。

  • 基于阿里洛神云网络平台。

  • 基于CyberStar自研平台,支持自动弹性伸缩。

  • 基于开源Higress项目,控制面使用Istiod,数据面使用Envoy。关于开源Higress项目的详细介绍,请参见Higress项目

  • 用户独享实例。

基础路由

  • 基于内容的路由。

  • 支持HTTP标头改写、重定向、重写、限速、会话保持等。

  • 基于内容、源IP的路由。

  • 支持HTTP标头改写、重定向、重写、限速、跨域、会话保持等。

  • 支持请求方向转发规则和响应方向转发规则。

  • 基于内容的路由。

  • 支持HTTP标头改写、重定向、重写、限速、跨域、超时和重试等

  • 支持标准的轮询、随机、最小请求数、一致性Hash和预热等负载均衡模式。预热是指在指定时间窗口转发到后端某机器的流量逐步平滑递增。

  • 支持千级别的路由规则。

支持协议

  • 支持HTTP和HTTPS协议。

  • 支持WebSocket、WSS和gRPC协议。

  • 支持HTTP和HTTPS协议。

  • 支持WebSocket、WSS和gRPC协议。

  • 支持HTTP和HTTPS协议。

  • 支持HTTP 3.0、WebSocket和gRPC协议。

  • 支持HTTP/HTTPS转Dubbo协议。

配置变更

  • 证书变更需要Reload进程,对长连接有损。

  • 非证书变更使用Lua实现热更新。

  • Lua插件变更需要Reload进程。

采用OpenAPI机制变更配置,时效高于List-Watch机制。

  • 支持配置、证书、插件热更新。

  • 采用List-Watch机制,配置变更实时生效。

认证鉴权

  • 支持Basic Auth认证方式。

  • 支持oAuth协议。

支持TLS身份认证。

  • 支持Basic Auth、oAuth、JWT、OIDC认证。

  • 集成阿里云IDaaS。

  • 支持自定义认证。

性能

  • 性能依赖手动调优,需要进行系统参数调优和Nginx参数调优。

  • 需要配置合理的副本数和资源限制。

  • 单实例支持100万QPS。

  • 单实例支持千万级最大连接。

  • 默认使用SSL硬件进行加速。

  • 相比开源Nginx Ingress,在CPU水位30~40%时,TPS高出约90%。

  • 启用硬件加速后,提升HTTPS性能约80%。

可观测能力

  • 支持通过Access Log采集日志。

  • 支持通过Prometheus进行监控。

  • 支持通过Access Log采集日志(对接SLS)。

  • 支持使用Metrics输出监控指标(集成云监控)。

  • 支持报警配置(对接云监控)。

  • 支持通过Access Log采集日志(集成SLS和阿里云Prometheus)。

  • 支持通过阿里云Prometheus配置监控和告警。

  • 支持Tracing(集成TracingAnalysis和SkyWalking)。

运维能力

  • 支持组件自行维护。

  • 通过配置HPA进行扩缩容。

  • 需要主动配置规格进行调优。

  • 全托管、免运维。

  • 自动弹性,免配置,支持超大容量。

  • 处理能力随业务峰值自动伸缩。

全托管,免运维。

安全

  • 支持HTTPS协议。

  • 支持黑白名单功能。

  • HTTPS(集成SSL)支持全链路HTTPS、SNI多证书、RSA、ECC双证、TLS 1.3协议和TLS算法套件选择。

  • 支持Waf防护(对接阿里云Web防火墙)。

  • 支持DDos防护(对接阿里云DDoS防护服务)。

  • 支持黑白名单功能。

  • 支持全链路HTTPS、SNI多证书(集成SSL),可配置TLS版本。

  • 支持路由级WAF防护(对接阿里云Web防火墙)。

  • 支持路由级黑白名单功能。

服务治理

  • 服务发现支持K8s。

  • 服务灰度支持金丝雀。

  • 服务高可用支持限流。

  • 服务发现支持K8s。

  • 服务灰度支持金丝雀。

  • 服务高可用支持限流。

  • 服务发现支持K8s、Nacos、ZooKeeper、EDAS、SAE、DNS、固定IP。

  • 支持2个以上版本的金丝雀发布、标签路由,与MSE服务治理结合可实现全链路灰度发布。

  • 内置集成MSE服务治理中的Sentinel,支持限流、熔断、降级

  • 服务测试支持服务Mock。

扩展性

使用Lua脚本。

使用AScript自研脚本。更多信息,请参见可编程脚本AScript概述

  • 使用Wasm插件,实现多语言编写。

  • 使用Lua脚本。

云原生集成

  • 集成Nginx Service Mesh。

  • 自行运维组件,与阿里云ACK或ACK Serverless等容器服务结合使用。

  • 与多种云产品结合,如Web应用防火墙(WAF)、函数计算(FC)、私网连接(PrivateLink)和云企业网转发路由器(TR)等。

  • 托管组件,与阿里云ACK或ACK Serverless等容器服务结合使用。

用户侧组件,与阿里云ACK或ACK Serverless等容器服务结合使用,且支持Nginx Ingress核心 Annotation无缝转换,关于MSE Ingress支持的Annotation,请参见MSE Ingress支持的Annotation

相关文档

如需进一步了解Nginx Ingress、ALB Ingress和MSE Ingress的信息,请参见Nginx Ingress概述ALB Ingress概述MSE Ingress概述