本文从成本、稳定性、安全性、易用性、扩展性等维度介绍云原生API网关与自建网关的差异。
对比项 | 云原生API网关 | 自建Ingress-Nginx | 自建Spring Cloud Gateway | 自建Higress | |
成本 | 资源成本 | 资源全托管免运维,无需自建CPU和内存资源,降低资源成本。 | 需自行运维资源,且需自建CPU和内存资源,成本较高。 | 需自行运维资源,且需自建CPU和内存资源,成本较高。 | 需自行运维资源,且需自建CPU和内存资源,成本较高。 |
系统搭建成本 |
|
|
| 需自行购买各种资源搭建系统,运维升级需投入精力,人工成本高。 | |
稳定性 | 高可用 | 多可用区部署,故障自动检测及恢复,SLA保障率高达99.99%。 | 需自行探索和开发高可用保障体系,SLA保障率低。 | 需自行探索和开发高可用保障体系,SLA保障率低。 | 需自行探索和开发高可用保障体系,SLA保障率低。 |
性能 |
| 需自行调优。 | 需自行调优。 | 需自行调优。 | |
监控告警 | 与云监控、SLS、链路追踪深度集成,提供丰富的仪表盘及Service级别的监控数据,支持自定义告警规则及钉钉、电话、短信等告警渠道,便于排查异常集群。 | 不支持,需自行搭建监控告警体系。 | 不支持,需自行搭建监控告警体系。 | 不支持,需自行搭建监控告警体系。 | |
安全性 | WAF防护 | 内置WAF,请求链路和响应时间更短,实例级防护升级至路由级防护。 | 多一层WAF网关,链路长。 | 多一层WAF网关,链路长。 | 多一层WAF网关,链路长。 |
认证鉴权 | 提供JWT、OAuth等多种认证鉴权手段、路由级黑白名单,并支持安全插件。 | 需自行进行复杂的安全及授权配置。 | 需自行进行复杂的安全及授权配置。 | 需自行进行复杂的安全及授权配置。 | |
易用性 | API全生命周期管理 | 提供API设计、开发、测试、发布及下线的全生命周期管理能力。 | 不支持,需自行构建。 | 不支持,需自行构建。 | 不支持,需自行构建。 |
路由能力 |
|
|
|
| |
协议转化能力 | 支持从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脚本插件热更新,毫秒级生效。 |