全部產品
Search
文件中心

Container Service for Kubernetes:Nginx Ingress、ALB Ingress和MSE Ingress對比

更新時間:Jun 19, 2024

ACK、ACK Serverless均支援Nginx Ingress、ALB Ingress和MSE Ingress。Nginx Ingress需要您自我維護,ALB Ingress和MSE Ingress為全託管模式。通過多個維度進行對比,本文介紹Nginx Ingress、ALB Ingress和MSE Ingress之間的差異。

背景資訊

  • Nginx Ingress:需要您自行營運,如果您對網關定製有強烈的需求,可以選擇Nginx Ingress。

  • ALB Ingress:基於阿里雲應用型負載平衡ALB(Application Load Balancer),屬於全託管免營運的雲端服務。單個ALB執行個體支援100萬QPS,提供更為強大的Ingress流量管理功能。

  • MSE Ingress:基於阿里雲MSE(Microservices Engine)雲原生網關,屬於全託管免營運的雲端服務。單個MSE雲原生網關執行個體支援100萬QPS,提供更為強大的Ingress流量管理功能。

典型應用情境

類型

典型應用情境

Nginx Ingress

  • 網關高度定製化。

  • 雲原生應用金絲雀發布、藍綠髮布。

ALB Ingress

  • 網關全託管、免營運。

  • 互連網應用七層高效能自動彈性。

  • 雲原生應用金絲雀發布、藍綠髮布。

  • 超大QPS、超大並發串連。

MSE Ingress

  • 網關全託管、免營運。

  • 南北向、東西向流量統一管理,微服務網關,全鏈路灰階。

  • 多個容器叢集、PaaS平台、ECS服務共用一個網關執行個體。

  • 混合雲、多資料中心、多業務域的內部互連。

  • 認證鑒權,靈活設定,安全防護要求高。

  • 超大流量、高並發業務。

功能對比

類型

Nginx Ingress

ALB Ingress

MSE Ingress

產品定位

  • 提供七層流量處理能力與豐富的進階路由功能。

  • 自有組件,可根據需求進行高度定製化。

  • 提供七層流量處理能力與豐富的進階路由功能。

  • 專門面嚮應用層負載情境,與容器深度整合,支援多種服務灰階策略,包括金絲雀、A/B Test、藍綠、自訂流量比例分發等。

  • 支援超大容量、自動彈性和免營運。

  • 支援與多種雲產品結合,如WAF、FC、PrivateLink、TR等。

  • 將傳統流量網關、微服務網關和安全網關三合一,通過硬體加速、WAF本地防護和外掛程式市場等功能,構建一個高整合、高效能、易擴充、熱更新的雲原生網關。

  • 提供七層流量處理能力與豐富的進階路由功能。支援多種服務發現模式和多種服務灰階策略,包括金絲雀發布、A/B Test、藍綠部署和自訂流量比例分發。

  • 專門面嚮應用層負載情境,與容器深度整合,網關轉寄請求時直連後端Pod IP。

產品架構

基於Nginx+Lua外掛程式擴充。

  • 基於阿里洛神雲網路平台。

  • 基於CyberStar自研平台,支援自動Auto Scaling。

  • 基於開源Higress專案,控制面使用Istiod,資料面使用Envoy。關於開源Higress專案的詳細介紹,請參見Higress專案

  • 使用者獨享執行個體。

基礎路由

  • 根據訊息內容決定路由。

  • 支援HTTP標題改寫、重新導向、重寫、限速、會話保持等。

  • 基於內容、源IP的路由。

  • 支援HTTP標題改寫、重新導向、重寫、限速、跨域、會話保持等。

  • 支援要求方向轉寄規則和回應程式向轉寄規則。

  • 根據訊息內容決定路由。

  • 支援HTTP標題改寫、重新導向、重寫、限速、跨域、逾時和重試等

  • 支援標準的輪詢、隨機、最小請求數、一致性Hash和預熱等負載平衡模式。預熱是指在指定時間視窗轉寄到後端某機器的流量逐步平滑遞增。

  • 支援千層級的路由規則。

支援協議

  • 支援HTTP和HTTPS協議。

  • 支援WebSocket、WSS和gRPC協議。

  • 支援HTTP和HTTPS協議。

  • 支援WebSocket、WSS和gRPC協議。

  • 支援HTTP和HTTPS協議。

  • 支援HTTP 3.0、WebSocket和gRPC協議。

  • 支援HTTP/HTTPS轉Dubbo協議。

配置變更

  • 認證變更需要Reload進程,對長串連有損。

  • 非認證變更使用Lua實現熱更新。

  • Lua外掛程式變更需要Reload進程。

採用OpenAPI機制變更配置,時效高於List-Watch機制。

  • 支援配置、認證、外掛程式熱更新。

  • 採用List-Watch機制,配置變更即時生效。

認證鑒權

  • 支援Basic Auth認證方式。

  • 支援oAuth協議。

支援TLS身份認證。

  • 支援Basic Auth、oAuth、JWT、OIDC認證。

  • 整合阿里雲IDaaS。

  • 支援自訂認證。

效能

  • 效能依賴手動調優,需要進行系統參數調優和Nginx參數調優。

  • 需要配置合理的副本數和資源限制。

  • 單一實例支援100萬QPS。

  • 單一實例支援千萬級最大串連。

  • 預設使用SSL硬體進行加速。

  • 相比開源Nginx Ingress,在CPU水位30~40%時,TPS高出約90%。

  • 啟用硬體加速後,提升HTTPS效能約80%。

可觀測能力

  • 支援通過Access Log採集日誌。

  • 支援通過Prometheus進行監控。

  • 支援通過Access Log採集日誌(對接SLS)。

  • 支援使用Metrics輸出監控指標(整合CloudMonitor)。

  • 支援警示配置(對接CloudMonitor)。

  • 支援通過Access Log採集日誌(整合SLS和阿里雲Prometheus)。

  • 支援通過阿里雲Prometheus配置監控和警示。

  • 支援Tracing(整合TracingAnalysis和SkyWalking)。

營運能力

  • 支援組件自我維護。

  • 通過配置HPA進行擴縮容。

  • 需要主動配置規格進行調優。

  • 全託管、免營運。

  • 自動彈性,免配置,支援超大容量。

  • 處理能力隨業務峰值自動調整。

全託管,免營運。

安全

  • 支援HTTPS協議。

  • 支援黑白名單功能。

  • HTTPS(整合SSL)支援全鏈路HTTPS、SNI多認證、RSA、ECC雙證、TLS 1.3協議和TLS演算法套件選擇。

  • 支援Waf防護(對接阿里雲Web防火牆)。

  • 支援DDos防護(對接阿里雲DDoS防護服務)。

  • 支援黑白名單功能。

  • 支援全鏈路HTTPS、SNI多認證(整合SSL),可配置TLS版本。

  • 支援路由級WAF防護(對接阿里雲Web防火牆)。

  • 支援路由級黑白名單功能。

服務治理

  • 服務發現支援K8s。

  • 服務灰階支援金絲雀。

  • 服務高可用支援限流。

  • 服務發現支援K8s。

  • 服務灰階支援金絲雀。

  • 服務高可用支援限流。

  • 服務發現支援K8s、Nacos、ZooKeeper、EDAS、SAE、DNS、固定IP。

  • 支援2個以上版本的金絲雀發布、標籤路由,與MSE服務治理結合可實現全鏈路灰階發布。

  • 內建整合MSE服務治理中的Sentinel,支援限流、熔斷、降級

  • 服務測試支援服務Mock。

擴充性

使用Lua指令碼。

使用AScript自研指令碼。更多資訊,請參見可程式化指令碼AScript概述

  • 使用Wasm外掛程式,實現多語言編寫。

  • 使用Lua指令碼。

雲原生整合

  • 整合Nginx Service Mesh。

  • 自行營運組件,與阿里雲ACK或ACK Serverless等Container Service結合使用。

  • 與多種雲產品結合,如Web Application Firewall(WAF)、Function Compute(FC)、私網串連(PrivateLink)和雲企業網轉寄路由器(TR)等。

  • 託管組件,與阿里雲ACK或ACK Serverless等Container Service結合使用。

使用者側組件,與阿里雲ACK或ACK Serverless等Container Service結合使用,且支援Nginx Ingress核心 Annotation無縫轉換,關於MSE Ingress支援的Annotation,請參見MSE Ingress支援的Annotation

相關文檔

如需進一步瞭解Nginx Ingress、ALB Ingress和MSE Ingress的資訊,請參見Nginx Ingress概述ALB Ingress概述MSE Ingress概述