1. 程式人生 > 其它 >API閘道器的五大主要功能

API閘道器的五大主要功能

 

微服務架構將原本一個龐大的業務系統被拆分成許多粒度很小的系統進行獨立部署和維護。這必然會導致跨系統互動複雜度增加、不同服務之間依賴關係變得更加複雜,這給微服務的生命週期管理和版本變更管理帶來極大的挑戰。基於API閘道器,可以將微服務之間的直接依賴轉化為對API閘道器的依賴,從而降低耦合關係。

如圖1所示,API閘道器是為一組微服務提供統一API訪問的元件,基於不同的場景,其承擔的職責從單純請求轉發到安全保證、流量控制、可觀察性等高階功能。其協議轉換功能使得散落部署的異構的微服務系統在API 層面統一起來。API閘道器本質上是一組專門用於網路請求轉發的應用服務例項,作為叢集的入站流量入口,呼叫服務都要經過API閘道器進行訪問,閘道器可以對API進行統一管控,例如認證、鑑權、流量控制、協議轉換、監控等。

                                                                                                                                       圖1 API閘道器功能概覽

 

進行API網的關技術選型時,更新的時效性和支援微服務的量級是最重要的衡量指標。API閘道器所包涵的功能範圍可歸納為以下五點∶

1.智慧路由

智慧路由微服務的唯一訪問入口,負載均衡是API閘道器的最基本的功能,使用者訪問統一的API閘道器入口,並由API閘道器選擇上游服務,以及狀態健康的例項。基於路由和負載均衡這兩個基本功能,API閘道器就可以提供高階的灰度釋出功能,管理人員可以通過設定規則將請求轉發至應用的不同版本。

2.可觀測性

API閘道器作為流量入口,可提供統一的日誌和Tracing解決方案。

3.流量控制

在大型微服務系統中,微服務之間的依賴關係可以非常複雜。限流規則可以使微服務設定自己能接收的最大請求數,超出的請求會被直接返回,保護系統不被過量請求壓垮。熔斷規則使得微服務可設定訪問上游服務的最大併發數,防止把上游壓垮,快取機制可以進一步減少對上游請求的壓力。

4.安全保證

微服務架構下,微服務和微服務之間的通訊均通過網路呼叫來完成。為了保證所提供的服務不被濫用,因此,認證、授權等安全控制是API閘道器考量的重點,API閘道器的集中部署和統一管理特性使得其能夠以較小的代價提供統一認證授權功能,供不同微服務進行整合。

5.可管理性

統一的閘道器升級將會速度加快,因為提供服務的元件是集中部署和管理的,服務的接入成本低,元件管理成本也較低。