如何建設企業級API閘道器

RestCloud發表於2023-11-01

企業級 API閘道器是現代軟體架構中不可或缺的重要組成部分,它能夠為整個系統提供安全可靠的入口,同時也是系統中不同業務模組之間互動的橋樑。API閘道器使得搭建一個新的應用服務變得簡單、快捷、高效,同時,開發人員可以將更多的精力放在和業務緊密相關的工作中。


企業級API閘道器主要作用包括如下幾點:

●  統一對外介面

當使用者需要整合不同產品或者服務之間的功能,呼叫不同服務提供的能力。利用API閘道器統一的介面組裝服務,統一協議、統一Url字首、統一響應基礎報文等。對於公司內部不同的服務,提供的介面可能在風格上存在一定的差異,透過API閘道器可以統一這種差異,當內部服務修改時,可以透過API閘道器進行適配,不需要呼叫方進行調整。

●  增加系統安全性

API閘道器可對外部和內部閘道器進行了隔離,把開發環境、測試環境、生產環境等都隔離,減少對外暴露服務可以增加系統安全性,保障了後臺服務的安全性。也需要增加安全外掛,為API的安全保駕護航。如IP黑白名單限制不知名的訪問,對請求報文進行敏感字元的告警,出入參加解密等。

●  統一鑑權

透過API閘道器對訪問進行統一鑑權,不需要每個應用單獨對呼叫方進行鑑權,應用可以專注業務。如內建JWT認證、OAuth2認證、AppKey認證、AK/SK認證、呼叫許可權審批等,並支援自定義外掛的認證,透過簡單的程式碼或配置即可支援。

●  API註冊與授權

可授權呼叫方可使用與不可使用的服務。

●  服務限流

透過API閘道器可以對呼叫方呼叫每個介面的每秒併發限制、呼叫次數限制、最大連線數限制、呼叫時間段限制等控制。

●  提升預釋出能力

API閘道器應該支援服務熔斷,灰度釋出,線上測試等,為API釋出提供基礎服務。

●  閘道器監控

透過API閘道器的加快中心可提供一系列不同維度的API呼叫統計、介面預警、介面呼叫日誌等。並支援鏈路追蹤,透過請求Id,追蹤呼叫流程,以及呼叫時間、報文、異常情況等。

 

企業級API閘道器需要考慮的因素

●  API全生命週期的管理

API服務的全生命週期,包括服務的設計、開發、測試、上線釋出;服務使用的申請、開通;服務使用情況的監控等等。

●  安全性問題

企業在把服務暴露給外部使用時,首先要確保服務使用的安全,防止外部的惡意訪問對公司業務的影響。為確保安全,需要考慮在通訊鏈路的建立、傳輸資料的加密、資料的完整性等方面。

●  效能問題

作為企業API的入口,所有的請求都會經過API閘道器進行轉發,可想而知,對API閘道器的訪問壓力是巨大的。需要考慮閘道器的轉發效能、快取、負載均衡等是否都滿足。

●  高可用問題

API閘道器作為邏輯上的單點,一旦發生問題,將造成企業服務的不可用,對企業來說可能造成的致命的影響。需要保證API閘道器支援7*24小時的穩定執行,閘道器的自動伸縮、API的熱更新等問題,都是企業級的閘道器需要考慮的。

●  擴充套件性問題

企業API閘道器提供了一個基礎平臺,使用場景會隨著企業業務規模等的變化進行不斷的強化與調整。這就需要閘道器層提供這樣一種外掛機制,使得可以靈活地進行這些調整和變化,而不用頻繁對閘道器層進行改動,確保閘道器層的有很好的擴充性。

●  API高效運維的問題

API在上線、釋出過程中,都需要涉及到閘道器層的配合,例如,需要閘道器層知道API釋出的地址,API的介面形式、報文格式,也需要閘道器層對後臺API進行配置、封裝。在API調整後,需要做出相應的修改,支援統一發布、灰度釋出等。

 

一個企業可能會暴露成百上千個API,日常也會經常進行API的釋出、升級、改造、下架等操作。對不同的服務,不同的訪問者,需要提供不同的服務訪問策略。所以,與API閘道器配套的,需要一套完善的自助系統,提供給服務的提供者、管理者、使用者,來對服務的釋出、使用和運營。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70005218/viewspace-2992236/,如需轉載,請註明出處,否則將追究法律責任。

相關文章