产品对比

本文从成本、稳定性、安全性、易用性、扩展性等维度介绍云原生API网关与自建网关的差异。

对比项

云原生API网关

自建Ingress-Nginx

自建Spring Cloud Gateway

自建Higress

成本

资源成本

资源全托管免运维,无需自建CPU和内存资源,降低资源成本。

需自行运维资源,且需自建CPU和内存资源,成本较高。

需自行运维资源,且需自建CPU和内存资源,成本较高。

需自行运维资源,且需自建CPU和内存资源,成本较高。

系统搭建成本

  • 将API网关、流量网关和微服务网关三合一,在容器和微服务场景下可节省50%的成本。

  • 内置免费的流量监控能力。

  • 微服务场景下需搭建微服务网关。

  • 如需使用指标监控和日志分析功能,需额外购买资源及产品。

  • K8s场景下需要单独搭建Ingress流量网关。

  • 如需使用指标监控和日志分析功能,需额外购买资源及产品。

需自行购买各种资源搭建系统,运维升级需投入精力,人工成本高。

稳定性

高可用

多可用区部署,故障自动检测及恢复,SLA保障率高达99.99%。

需自行探索和开发高可用保障体系,SLA保障率低。

需自行探索和开发高可用保障体系,SLA保障率低。

需自行探索和开发高可用保障体系,SLA保障率低。

性能

  • CPU水位在30~40%时,TPS性能高出开源Nginx Ingress约90%,高出开源Spring Cloud Gateway约100%。

  • 软硬一体完成TLS卸载,提升服务器性能的同时,降低响应时间。

需自行调优。

需自行调优。

需自行调优。

监控告警

与云监控、SLS、链路追踪深度集成,提供丰富的仪表盘及Service级别的监控数据,支持自定义告警规则及钉钉、电话、短信等告警渠道,便于排查异常集群。

不支持,需自行搭建监控告警体系。

不支持,需自行搭建监控告警体系。

不支持,需自行搭建监控告警体系。

安全性

WAF防护

内置WAF,请求链路和响应时间更短,实例级防护升级至路由级防护。

多一层WAF网关,链路长。

多一层WAF网关,链路长。

多一层WAF网关,链路长。

认证鉴权

提供JWT、OAuth等多种认证鉴权手段、路由级黑白名单,并支持安全插件。

需自行进行复杂的安全及授权配置。

需自行进行复杂的安全及授权配置。

需自行进行复杂的安全及授权配置。

易用性

API全生命周期管理

提供API设计、开发、测试、发布及下线的全生命周期管理能力。

不支持,需自行构建。

不支持,需自行构建。

不支持,需自行构建。

路由能力

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

  • 负载均衡除支持标准的轮询、随机、最小请求数和一致性Hash外,还支持预热,即在指定时间窗口转发到后端某机器的流量逐步平滑递增路由配置变更热更新,对流量无损。

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

  • 路由配置变更无法热更新,需要Reload,会引起流量抖动。

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

  • 路由配置变更无法热更新,需要Reload,会引起流量抖动。

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

  • 负载均衡除支持标准的轮询、随机、最小请求数和一致性Hash外,还支持预热,即在指定时间窗口转发到后端某机器的流量逐步平滑递增路由配置变更热更新,对流量无损。

协议转化能力

支持从HTTP到Dubbo的协议转换功能。

不支持,需自行构建。

不支持,需自行构建。

不支持,需自行构建。

限流降级能力

默认集成Sentinel,提供路由级细粒度限流降级策略,不修改任何业务代码,即可实现限流降级能力。

部分支持,不支持路由级限流策略。

支持

支持

多种服务发现能力

支持K8s、Nacos、Zookeeper、DNS、固定IP以及阿里云SAE等多种服务发现方式。

支持K8s。

支持Nacos和Zookeeper。

支持K8s、Nacos、Zookeeper、DNS、固定IP。

扩展性

插件市场

支持Wasm插件,可使用多语言编写Lua脚本插件热更新,毫秒级生效。

支持Lua脚本,插件变更需要Reload进程。

支持Java Filter扩展。

支持Wasm插件,可使用多语言编写Lua脚本插件热更新,毫秒级生效。