前言
在物聯網中,像監控、傳感器等設備,需要將收集到的資料和資訊進行匯總時,我們就需要一個 API 網關來接收從千百個終端發出的請求,
API 網關能實作 對外統一介面,對內進行負載均衡 的功能,極大地方便了 API 系統的開發與維護,今天我們來淺談一下 API 網關的結構和功能,
什么是 API 網關?
API 網關 即 API Gateway ,是一個能夠實作高性能 HTTP 轉發、多租戶管理、API 訪問權限控制等目的的微服務網關,
擁有強大的自定義插件系統可以自行擴展,提供友好的圖形化配置界面,能夠快速幫助企業進行 API 服務治理、提高 API 服務的穩定性和安全性,

使用 API 網關有哪些優勢?
-
將內部系統中重復的組件抽取出來并放置在 Goku 網關上運行,如進行用戶授權、訪問控制、防火墻、資料轉換等;
-
提供服務編排的功能,讓企業可以快速從各類服務上獲取需要的資料,對業務實作快速回應,
-
簡單、快速、低成本、低風險地 實作系統微服務化、系統集成、向合作伙伴、開發者開放資料 等多項功能,
Eolink API 網關的主要功能
- 部署管理
網關支持 多集群管理 ,可以為不同集群分別配置不同的后端服務地址,以下插件:流控控制、API 流量控制、OAuth2 鑒權、OAuth2 第三方認證、資料快取 需要用到 Redis ,若不使用這些插件可不配置 Redis ,

多個節點的作用主要是作為 nginx 的負載和集群高可用,
節點的負載能力取決于三個因素:網關軟體性能 、硬體性能 和 網路環境 ,所以還需要結合業務量和硬體資源來判斷,
業務量加大,可以通過增加節點數量水平拓展網關集群,

- 靈活的路由
服務是一組可訪問的 API ,您可以給不同服務 設定不同的訪問權限、IP黑白名單、流量控制等插件,
不同的服務可以設定不同的路由,有的服務根據請求引數路由,有的服務根據 Header 欄位進行路由等,一條路由可以包含多個指標,路由指標包括 Header、Query、Location ,
假設需要使用 Host 頭部和 Location 進行路由,并且 Host 在路由時會優先判斷,那么創建路由指標時,輸入框的填寫內容如下:

路由創建完后,點擊操作欄的 路由規則 按鈕,給具體的規則系結訪問策略,當 Header 或 Location 條件符合路由到服務 test1 :

- 注冊中心和負載
注冊中心 :
支持動靜態注冊服務,動態注冊中心支持對接熱門的第三方注冊中心,如Eureka、Consul、Nacos等,注冊中心可以設定健康檢查,轉發時剔除例外后端,
負載 :
配置負載時,需要先創建 服務注冊方式 ,這樣可以讓多個負載后端接入相同的注冊中心,也可以使用相同的健康檢查,
負載的服務型別分為靜態服務和動態服務,靜態服務 :若直接在控制臺上配負載的IP,然后選擇該服務的注冊中心,
服務發現:若希望網關的轉發后端IP與注冊中心保持一致,實時進行更新,然后選擇相應的注冊中心即可,

- API 訪問控制
通過網關來做轉發需要以下四個步驟:
流程示例:

- 監控告警
能夠針對全域或單個 API 設定告警規則和具體通知的人,支持郵件和 Webhook 等告警方式,可對接企業內部告警系統,

網關支持自定義 API 告警機制,包括全域和單個 API ,
告警指標包括:請求總數 、轉發總數、請求失敗數、轉發失敗數、超時數 ;告警條件包括:大于、小于、等于,

- 插件
網關提高豐富的處理插件,如鑒權、IP黑白名單、流量控制、資料快取等,

也支持自定義插件,用戶可以根據自己的需求做插件開發,

網關需要采用插件化的思路進行開發設計,通過可視化的配置插件來對所有 API 服務進行控制,插件可以針對整個微應用也可以針對某一個細粒度的 API ,
Eolink API 網關支持自行開發插件,滿足特定功能需求,
總結
總的來說,API網關可以根據具體需要對各終端使用不同的通信協議來進行協議適配,從而實作簡化應用層資料采集和分析作業的目的 ,
上圖演示流程中的API微服務網關工具為 Eolink ,它是一個能夠實作高性能 HTTP 轉發、API 訪問權限控制等目的的微服務網關,擁有強大的自定義插件系統可以自行擴展,能夠快速幫助企業進行 API 服務治理、提高 API 服務的穩定性和安全性,
如果有興趣,您可自行使用:www.eolink.com
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/501089.html
標籤:其他
上一篇:「學習筆記」矩陣乘法與矩陣快速冪
