本文從成本、穩定性、安全性、易用性、擴展性等維度介紹云原生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腳本插件熱更新,毫秒級生效。 |