文档首页/ 云容器引擎 CCE/ 用户指南/ 网络/ 网关API(Gateway API)/ Envoy Gateway与NGINX Ingress功能对比
更新时间:2026-06-05 GMT+08:00
分享

Envoy Gateway与NGINX Ingress功能对比

在CCE集群中,Envoy Gateway(数据平面为Envoy)与NGINX Ingress均用于实现外部流量路由、负载均衡等能力。本文主要对比NGINX Ingress与Envoy Gateway在各项功能上的差异,帮助您完成业务选型和迁移规划。

流量路由(Routing)

基础路由

NGINX Ingress功能(通过注解实现)

Envoy Gateway(通过 Gateway API实现)

实现方式差异与说明

Host路由

支持

Envoy Gateway通过HTTPRoute的hostnames字段实现

Path路由 (prefix/exact)

支持

Envoy Gateway通过HTTPRoute的rules.matches.path字段实现

TLS终止 (SNI多证书)

支持

Envoy Gateway通过Gateway的listeners.tls字段引用Secret实现

HTTP重定向到HTTPS

支持

Envoy Gateway通过HTTPRoute的RequestRedirect过滤器实现

多后端服务转发

支持

Envoy Gateway通过HTTPRoute的backendRefs字段实现,支持多个后端

多端口监听

支持

Envoy Gateway通过Gateway的listeners字段实现

请求/响应修改

NGINX Ingress功能(通过注解实现)

Envoy Gateway(通过 Gateway API实现)

实现方式差异与说明

路径重写(Rewrite)

支持

通过HTTPRoute的URLRewrite过滤器实现。

重定向

支持

Envoy Gateway通过HTTPRoute的RequestRedirect过滤器实现。

请求头增删改

支持

Envoy Gateway通过HTTPRoute的RequestHeaderModifier过滤器实现。

响应头增删改

支持

Envoy Gateway通过HTTPRoute的ResponseHeaderModifier过滤器实现。

注入自定义Nginx片段(snippet)

不支持

Envoy Gateway无Nginx snippet概念,可通过EnvoyPatchPolicy资源修改Envoy底层配置。

上游策略

NGINX Ingress功能(通过注解实现)

Envoy Gateway(通过 Gateway API实现)

实现方式差异与说明

超时(connect/read/send)

支持

Envoy Gateway通过HTTPRoute的timeouts字段或者Envoy Gateway的扩展资源BackendTrafficPolicy实现。

Envoy实现方式不同,Envoy超时机制更精细,配置字段与Nginx存在差异。

重试(retry)

支持

通过Envoy Gateway的扩展资源BackendTrafficPolicy实现:

  • retry.numRetries(最多重试次数)
  • retry.retryOn(重试条件)
  • retry.perRetry.timeout(单次重试超时时间)

负载均衡算法(RR/least_request等)

支持

通过Envoy Gateway的扩展资源BackendTrafficPolicy的loadBalancer.type字段实现:

  • LeastRequest(默认随机挑选两个实例,将请求发送给当前活跃请求数最少的后端实例)
  • ConsistentHash(一致性哈希)
  • Random(随机)
  • RoundRobin(轮询)

连接池/最大连接/熔断等

支持

通过Envoy Gateway的扩展资源 BackendTrafficPolicy实现:

  • circuitBreaker.maxConnections:限制Envoy能与上游服务建立的最大TCP连接数
  • circuitBreaker.maxParallelRequests:限制Envoy与上游服务之间的最大并发请求数。达到阈值后,新请求将直接失败。

Sticky session(Cookie 粘性)

支持

Envoy Gateway通过一致性哈希负载均衡和StatefulSession扩展实现。

灰度与流量控制

NGINX Ingress功能(通过注解实现)

Envoy Gateway(通过 Gateway API实现)

差异与说明

按权重分流

支持

Envoy Gateway通过HTTPRoute的backendRefs.weight字段实现。

按Header/Query条件分流

支持

Envoy Gateway通过HTTPRoute的matches字段(headers/queryParams)实现。

按Cookie分流

支持

Envoy Gateway通过HTTPRoute的matches字段(匹配Cookie Header)实现。

Mirror(流量镜像)

支持

Envoy Gateway通过HTTPRoute的RequestMirror过滤器实现。

安全

TLS/证书

NGINX Ingress功能(通过注解实现)

Envoy Gateway(通过 Gateway API实现)

差异与说明

TLS证书管理

支持

通过Gateway的TLS配置实现。

TLS版本/加密套件

支持

通过Envoy Gateway的扩展资源ClientTrafficPolicy实现。

认证鉴权

NGINX Ingress功能(通过注解实现)

Envoy Gateway(通过 Gateway API实现)

差异与说明

Basic Auth

支持

通过Envoy Gateway的扩展资源SecurityPolicy的basicAuth字段实现。

外部认证 (OAuth2/OIDC/SSO)

支持

通过Envoy Gateway的扩展资源SecurityPolicy的oidc字段实现。

基于路径/方法的RBAC

支持

通过Envoy Gateway的扩展资源SecurityPolicy的authorization字段实现。

限流/防护

NGINX Ingress功能(通过注解实现)

Envoy Gateway(通过 Gateway API实现)

差异与说明

限流(基于 IP/Header/key)

支持

通过Envoy Gateway的扩展资源BackendTrafficPolicy实现,支持全局限流和本地限流。

连接数限制/并发限制

部分支持

通过Envoy Gateway的扩展资源ClientTrafficPolicy和BackendTrafficPolicy实现。

IP白名单/黑名单

支持

通过Envoy Gateway的扩展资源SecurityPolicy的authorization字段实现。

相关文档