作者:API7 技术团队
最后更新:2026 年 7 月
Apache APISIX 是开箱即用的 API 网关;Envoy 是为「通用数据面」而生的 C++ 代理、服务网格的事实标准。两者不是零和竞争 —— 本文说清各自的角色边界、扩展方式与组合用法。
Apache APISIX 是电池齐备的 API 网关(NGINX/OpenResty + etcd、100+ 插件、内置 Admin API),最适合南北向流量与 Kubernetes Ingress。Envoy 是 C++ 通用代理、服务网格数据面的王者,但要当网关需要自配外部控制面(Envoy Gateway、Istio、Gloo)。很多团队两个都用:网格里跑 Envoy,API 网关层跑 APISIX。
APISIX 自带控制面(Admin API)与插件生态,面向 API 网关开箱即用;Envoy 是需要外部控制面的通用代理,在服务网格数据面上是事实标准。
| 维度 | Apache APISIX | Envoy |
|---|---|---|
| 最适合 | 功能完整的 API 网关与 Kubernetes Ingress | 通用 L4/L7 代理与服务网格数据面 |
| 内核与运行时 | NGINX/OpenResty(LuaJIT)+ etcd | C++ 代理 + xDS API |
| 控制面 | ✓ 内置 Admin API | 外部(Envoy Gateway、Istio、Gloo) |
| 插件 / 扩展 | 100+ 插件(Lua、Go、Wasm、Python、Java) | C++ filter、Lua filter、Wasm(Proxy-Wasm) |
| 服务网格 | 专注南北向 | ✓ 网格数据面事实标准(Istio) |
| API 管理 | ✓ Admin API、路由、消费者 | — 需要外部控制面 |
| 许可 | Apache-2.0(ASF 项目) | Apache-2.0(CNCF 项目) |
Apache APISIX 是功能完整的云原生 API 网关,基于 NGINX/OpenResty + etcd,自带 Admin API、100+ 插件与热配置更新,Apache-2.0 全开源。
Apache APISIX 是功能完整的云原生 API 网关,基于 NGINX/OpenResty(LuaJIT)与 etcd 配置中心。自带 Admin API、100+ 开源插件(认证、流量、可观测)与热配置更新 —— 全部 Apache-2.0,无付费墙。
架构
NGINX/OpenResty(LuaJIT)+ etcd
许可证
Apache-2.0(ASF 顶级项目)
最适合
API 网关与 Kubernetes Ingress
Envoy 是 C++ 编写的高性能 L4/L7 代理与「通用数据面」,是 Istio 等服务网格的数据面事实标准,经外部控制面的 xDS API 动态配置。
Envoy 是 C++ 编写的高性能 L4/L7 代理,为现代服务化架构设计的「通用数据面」。它是采用最广的服务网格数据面(Istio、Gloo),通过静态配置或外部控制面提供的 xDS API 动态配置。
架构
C++ L4/L7 代理 + xDS API
许可证
Apache-2.0(CNCF 项目)
最适合
服务网格数据面
APISIX = 数据面 + 内置控制面(Admin API/etcd),装完即是网关;Envoy = 纯数据面,路由与策略要靠外部 xDS 控制面下发。
Apache APISIX 自带完整的控制面:Admin API 管理路由、上游、消费者与 插件,配置写入 etcd 后毫秒级同步到所有无状态数据面节点。部署完成 即可用作 API 网关,无需再引入其他组件。
Envoy 刻意保持「纯数据面」:自身只消费配置,不管理配置。生产中的 Envoy 网关通常由 Envoy Gateway、Istio 或 Gloo 等控制面经 xDS 协议 (LDS/RDS/CDS/EDS/SDS)驱动。这带来极强的可编程性 —— 也意味着把 Envoy 用成完整 API 网关,你实际是在选型并运维「Envoy + 某个控制面」 的组合,而不是单个产品。
差异集中在控制面(内置 vs 外部)、扩展门槛(热加载多语言插件 vs C++ filter)、服务网格角色与 API 管理深度。
| 能力 | Apache APISIX | Envoy |
|---|---|---|
| 架构 | NGINX/OpenResty(LuaJIT)+ etcd 配置中心;无状态数据面、配置热同步 | C++ L4/L7 代理,定位通用数据面;静态配置或经 xDS 动态下发 |
| 控制面 | 内置:Admin API、路由、上游、消费者;可选 Dashboard | 无内置;依赖 Envoy Gateway、Istio、Gloo 或自研 xDS 服务 |
| 性能口径 | 官方自报单核约 18,000 QPS、约 0.2 毫秒附加延迟;LuaJIT 执行插件 | C++ 裸吞吐强、内存占用小;事件驱动异步模型 |
| 插件生态 | 100+ 开源插件:认证、流量、可观测、AI —— 无付费墙 | 内置路由、限流、认证(ext_authz)等 filter;扩展经 C++、Lua 或 Wasm |
| 自定义扩展 | Lua(原生)、Go、Wasm、Python、Java —— 运行时热加载、无需重启 | C++ 原生 filter(复杂/高性能场景的官方路径)、LuaJIT filter、Proxy-Wasm(C++/Rust) |
| 动态配置 | etcd watch 热更新;路由、插件、上游变更无需重启 | xDS 系列 API(LDS/RDS/CDS/EDS/SDS)从外部控制面流式下发 |
| 服务网格 | 专注南北向(网关、Ingress、边缘) | Istio、Gloo 等网格的数据面事实标准;为东西向 sidecar 而生 |
| 协议支持 | HTTP/1.1、HTTP/2、gRPC、WebSocket、TCP、UDP、MQTT、Dubbo;HTTP/3 实验性 | HTTP/1.1、HTTP/2、HTTP/3(下行生产可用、上行 alpha)、gRPC、TCP、UDP,及 Redis、MongoDB、Postgres 协议感知 |
| 安全与认证 | JWT、OAuth2/OIDC、mTLS、HMAC、API key、OPA、CORS —— 内置插件 | 原生 mTLS 与 JWT;更丰富的认证授权经 ext_authz、OPA 或外部服务 |
| 可观测性 | Prometheus、OpenTelemetry、SkyWalking、Zipkin、Datadog 原生集成 | 遥测能力强:stats(Prometheus/StatsD)、分布式追踪、访问日志、admin 端口 |
| Kubernetes | 原生 Ingress Controller 与 Gateway API 支持 | 经 Envoy Gateway、Istio 或 Contour 使用;自身不是独立 Ingress |
| 许可与商业化 | Apache-2.0,完全开源无付费墙;商业版 API7 企业版 | Apache-2.0(CNCF);商业支持来自 Envoy Gateway 各厂商、Tetrate、Solo.io 等 |
API 网关与 Ingress 选 APISIX;服务网格数据面选 Envoy;大型架构常见的答案是两者分层搭配。
一句话总结: 这是「开箱即用的 API 网关」与「需要控制面的通用代理」之争, 更是分工:南北向 API 管理选 Apache APISIX,东西向网格数据面选 Envoy,两者搭配是成熟架构的常见形态。需要控制台 RBAC、审计与 合规认证的生产级网关发行版,可了解 API7 企业版。
微信咨询
获取方案