引言
在云原生時代,API 網關作為連接客戶端與后端服務的橋梁,扮演著至關重要的角色。Higress 是一款由阿里巴巴開發的先進云原生 API 網關,基于開源的 Istio 和 Envoy 構建。它通過將流量網關、微服務網關和安全網關三者高度集成,提供了一個高效、易擴展且安全的 API 管理解決方案。Higress 不僅支持標準的 Ingress、Gateway API 和 Istio API,還提供了豐富的 WebAssembly(Wasm)插件系統和 AI 插件集,使其成為現代云原生架構中不可多得的工具。
架構
Higress 的架構設計充分利用了 Istio 和 Envoy 的優勢,結合阿里巴巴內部多年的 Envoy Gateway 實踐,構建了一個高性能、靈活的網關系統。其核心組件包括:
- Envoy 作為數據平面:Envoy 是一款高性能的代理服務器,負責處理所有進出流量。它支持多種協議(如 HTTP、gRPC、Dubbo),并提供復雜的流量管理能力,如負載均衡和路由控制。
- Istio 作為控制平面:Istio 提供服務發現、流量管理和安全策略等控制平面功能,使 Higress 能夠實現高級特性,如故障注入、斷路器和動態配置。
- Higress Controller:作為配置管理的核心,Higress Controller 將用戶定義的網關配置翻譯成 Istio 和 Envoy 可以理解的指令,確保系統的高效運行。
- 插件系統:Higress 支持 Wasm 插件,允許開發者動態擴展功能,無需重啟即可實現熱更新。插件支持多種編程語言(如 Go、Rust、JavaScript),極大提高了開發效率。
- 外部系統集成:Higress 與 Nacos(服務發現)、Sentinel(斷路器)等微服務技術棧深度集成,增強了其在微服務架構中的適用性。
這一架構確保了 Higress 能夠高效處理多樣化的流量類型、管理微服務,并提供企業級的安全防護,同時保持高度的可擴展性和可維護性。
關鍵特性
Higress 提供了一系列強大的特性,使其成為云原生 API 管理的首選解決方案。以下是其核心特性的詳細總結:
特性 | 描述 |
---|---|
三合一集成 | 將流量網關、微服務網關和安全網關集成到一個解決方案中,顯著降低部署和維護成本。 |
標準兼容 | 支持 Ingress、Gateway API 和 Istio API 標準,確保與現有系統的兼容性和遷移便利性。 |
可擴展性 | 基于 Wasm 的插件系統支持多語言開發,插件可熱更新,滿足 90% 以上的業務場景需求。 |
AI 集成 | 提供一站式 AI 插件集和后端模型調度能力,簡化 AI 應用與網關的集成。 |
微服務支持 | 深度集成 Dubbo、Nacos 和 Sentinel,優化微服務架構的治理和性能。 |
安全性 | 提供全局和路由級別的 WAF 安全、JWT/OIDC 認證以及流量保護,滿足企業級安全需求。 |
可觀察性 | 通過 Higress Console 提供開箱即用的服務、路由和域名管理可觀察性功能。 |
這些特性使 Higress 能夠應對復雜的業務場景,從高流量處理到 AI 驅動的應用開發,均表現出色。
應用場景
Higress 已在阿里巴巴內部廣泛應用于多個關鍵業務場景,證明了其在高并發、復雜環境下的可靠性和擴展性。以下是一些典型的應用場景:
- 電子商務平臺:在雙 11 和雙 12 等高流量促銷活動中,Higress 確保了流量的高效處理和系統的穩定性,為阿里巴巴的電商平臺提供了堅實的支持。
- 媒體服務:為優酷(Youku)等視頻流媒體平臺提供高性能的流量管理和安全防護,確保用戶體驗的流暢性。
- 協作工具:支持釘釘(DingTalk)等企業通信平臺的 API 管理,提供高可用性和低延遲的服務。
- 教育平臺:為達摩院(Dharma Academy)等內部培訓平臺提供安全且高效的 API 訪問,助力知識共享。
- 金融服務:助力螞蟻集團(Ant Group)等金融應用實現安全、可擴展的 API 網關,滿足嚴格的合規性要求。
這些場景展示了 Higress 在處理高流量、微服務治理和安全防護方面的卓越能力,使其成為跨行業應用的理想選擇。
與其他網關的比較
在眾多 API 網關解決方案中,Higress 憑借其獨特的設計和功能脫穎而出。以下是 Higress 與其他網關(如 Kong、Tyk、AWS API Gateway)的對比分析:
特性 | Higress | Kong | Tyk | AWS API Gateway |
---|---|---|---|---|
云原生支持 | 基于 Istio 和 Envoy,深度集成云原生標準 | 支持 Kubernetes,但依賴插件 | 支持 Kubernetes,需額外配置 | 托管服務,集成 AWS 生態 |
AI 集成 | 內置 AI 插件和模型調度 | 需自定義插件 | 需自定義插件 | 需通過 Lambda 集成 |
插件系統 | Wasm 插件,多語言支持,熱更新 | Lua 插件,需重啟 | Go 插件,需編譯 | 依賴 AWS 服務擴展 |
標準兼容 | 支持 Ingress、Gateway API、Istio API | 部分支持 Ingress | 部分支持 Ingress | 專有 API |
微服務集成 | 深度集成 Dubbo、Nacos、Sentinel | 需額外插件 | 需額外插件 | 需通過 AWS 服務 |
Higress 的優勢在于其三合一架構、AI 驅動設計和強大的插件生態系統,使其特別適合需要復雜流量管理和 AI 集成的企業。
快速入門
對于希望嘗試 Higress 的開發者,可以通過以下步驟快速開始:
- 訪問官方資源:瀏覽 Higress 官方網站 或 GitHub 倉庫 獲取詳細文檔。
- 安裝 Higress:支持本地、Docker 和 Kubernetes 環境部署。參考 安裝指南。
- 探索控制臺:Higress 提供開箱即用的控制臺,涵蓋服務、路由、域名和證書管理功能,可通過 Higress Console 體驗。
通過這些資源,開發者可以快速部署 Higress 并開始構建高性能的 API 網關。
結論
Higress 作為一款下一代云原生 API 網關,結合了 Istio 和 Envoy 的強大功能,提供了獨特的 AI 集成、Wasm 插件擴展能力和三合一架構。它以高效的流量管理、微服務治理和企業級安全特性,滿足了從電子商務到金融服務的多樣化需求。無論您是構建高流量平臺還是開發 AI 驅動的應用,Higress 都能提供高性能、安全和可擴展的解決方案。
通過其對行業標準的支持和豐富的生態系統集成,Higress 為企業現代化 API 基礎設施提供了強有力的支持。立即訪問 Higress 官方網站,開啟您的云原生網關之旅!
參考文獻
- Higress 官方網站
- Higress GitHub 倉庫
- Higress 介紹:什么是 Higress?
- Higress Console 演示
- Higress v0.7.0 功能介紹
- Higress 與 Apache Dubbo 集成