前言
在微服務架構中,API 網關起著不可或缺的重要作用,
簡單舉個例子,API 相當于是我們獲取資訊的資料線,而當這樣的“資料線”過多時,我們很難對這么多的 API 進行管控,這時候的 API 網關就相當于是一個收納工具+ 保護套,幫我們把各式各樣的 API 進行統一管理,并維護 API 的安全性與穩定性,
然而實際上API網關的功能遠遠不止上述舉例中的那么簡單,它要更加強大更高效,今天我們就來詳細介紹一下 API 網關與 API 網關的功能,
API 網關介紹
API 網關,API Gateway,即兩個相互獨立的局域網之間通過路由器進行通信,中間的路由被稱之為網關,
任何一個應用系統如果需要被其他系統呼叫,就需要暴露 API,這些 API 代表著一個一個的功能點,如果兩個系統中間通信,在系統之間加上一個中介者協助 API 的呼叫,這個中介者就是 API 網關,

API 網關主要功能
API 網關基本功能包含了 統一接入、協議適配、流量管理與容錯、以及安全防護四大基本功能,
API 網關 以統一接入為核心功能,然后將請求的協議轉換為內部的介面協議,在呼叫得程序中還要有限流、降級、熔斷等 容錯的方式來保護網關的整體穩定,同時網關還要做到基本的安全防護,以及黑白名單等基本安全措施,
統一接入
提供統一的入口 來訪問內部的 API , 隔離外部訪問與內部系統,保護微服務 API ,統一對外的 API ,方便外部呼叫,對內再呼叫相應的微服務 API ,
簡單而言 API 就是對外提供統一的介面,內部再去條用相應的請求介面,對外接收客戶端請求,對內呼叫微服務 REST API ,

請求適配
API 網關并不是僅僅進行客戶端請求的路由,API 網關還負責對請求進行處理,將外部請求適配成內部請求,請求的適配主要有:
- 協議轉化:
在微服務系統中不一定都是使用同一種協議進行通信,除了 http 協議還可以轉換成其他更合適更高效得協議,

- 資料校驗與轉換:
校驗必要的資料欄位,或者進行資料格式轉化
- 相應合并:
把業務上需要呼叫多個服務介面才能完成的作業合并成一次呼叫 對外統一提供服務,
流量管理與容錯
API 網關作為整個微服務系統的入口,需要對請求流量進行監控,避免造成內部過載或 API 網關崩潰,
- 負載均衡:
負載均衡是分布式架構的重點,負載均衡機制決定著整個服務集群的性能與穩定,

- 限流:
限流是必須的組件,限流做不好的話,請求量突增時很容易導致業務放的服務掛掉,
- 熔斷和降級:
網關的性能決定整體請求的回應,若某個服務掛掉、介面影響嚴重超時,API 網關會對故障服務進行熔斷降級,直接回傳錯誤,

安全防護
API 網關通過提供額外的安全層幫助阻止大規模攻擊,
這些攻擊包括 SQL 注入,XML 決議漏洞和 DoS 攻擊, API 網關實作了安全層,降低了各個微服務的復雜度,
-
安全認證:
-
基于 Token 的客戶端安全策略和訪問權限
-
基于 Https 的傳輸加密,
-
基于 OAuth 2.0 的服務安全認證
-
黑白名單:
構建黑白名單可以將一些惡意請求的 ip 地址禁止訪問系統,

總結
API 網關的功能主要包含以上四點,總的來說, API 網關能實作對外統一介面,對內進行負載均衡的功能也極大地方便了 API 系統的開發與維護,
上述演示圖中的 API 微服務網關工具為 Eolink ,它是一個能夠實作高性能 HTTP 轉發、API 訪問權限控制等目的的微服務網關,擁有強大的自定義插件系統可以自行擴展,能夠快速幫助企業進行 API 服務治理、提高 API 服務的穩定性和安全性,
如果有興趣,可自行使用:www.eolink.com
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/501527.html
標籤:其他
上一篇:10種創新方式 | 教你嘗試用多種創新構筑企業護城河
下一篇:網路抓包工具
