天天看點

微服務網關的功能簡介說明

微服務網關作為微服務後端服務的統一入口(Entry Point),它可以統籌管理後端服務,主要分為資料平面(Data Plane)和控制平面(Control Plane)。

資料平面的主要功能是接入使用者的HTTP請求和微服務被拆分後的聚合。使用微服務網關統一對外暴露後端服務的API和契約,路由和過濾功能正是網關的核心能力子產品。另外,微服務網關可以實作攔截機制和專注跨橫切面(Cross-CuttingConcerns)的功能,包括協定轉換、安全認證、熔斷限流、灰階釋出、日志管理、流量監控等。

控制平面的主要功能是對後端服務做統一的管控和配置管理。

路由功能

路由是微服務網關的核心能力。通過路由功能微服務網關可以将請求轉發到目标微服務。在微服務架構中,網關可以結合注冊中心的動态服務發現,實作對後端服務的發現,調用方隻需要知道網關對外暴露的服務API就可以透明地通路後端微服務。

負載均衡

API網關結合負載均衡技術,利用Eureka或者Consul等服務發現工具,通過輪詢、指定權重、IP位址哈希等機制實作下遊服務的負載均衡。

協定轉換

API網關的一大作用在于建構異構系統,API網關作為單一入口,通過協定轉換整合背景基于REST、AMQP、Dubbo等不同風格和實作技術的微服務,面向Web Mobile、開放平台等特定用戶端提供統一服務。

安全認證

一般而言,無論對内網還是外網的接口都需要做使用者身份認證,而使用者認證在一些規模較大的系統中都會采用統一的單點登入(Single Sign On)系統,如果每個微服務都要對接單點登入系統,那麼顯然比較浪費資源且開發效率低。API網關是統一管理安全性的絕佳場所,可以将認證的部分抽取到網關層,微服務系統無須關注認證的邏輯,隻關注自身業務即可。常見的安全性技術(如密鑰交換、用戶端認證與封包加解密等)都可以在API網關中實作。

黑白名單

微服務網關可以使用系統黑名單,過濾HTTP請求特征,攔截異常用戶端的請求,例如DDoS等侵蝕帶寬或資源迫使服務中斷等行為,可以在網關層面進行攔截過濾。比較常見的攔截政策是根據IP位址增加黑名單。在存在鑒權管理的路由服務中可以通過設定白名單跳過鑒權管理而直接通路後端服務資源。

限流熔斷

在某些場景下需要控制用戶端的通路次數和通路頻率,一些高并發系統有時還會有限流的需求。在網關上可以配置一個門檻值,當請求數超過門檻值時就直接傳回錯誤而不繼續通路背景服務。當出現流量洪峰或者後端服務出現延遲或故障時,網關能夠主動進行熔斷,保護後端服務,并保持前端使用者體驗良好。

繼續閱讀