對微服務API服務閘道器的理解

2022-06-17 05:12:14 字數 1883 閱讀 4645

目錄

微服務專字段址

目錄1. 簡介

2. 什麼是api閘道器

3. 為什麼需要api閘道器

4. api閘道器在微服務架構體系中處於什麼位置

4.1 呼叫者眼中的api閘道器

4.2 所處的位置

5. 閘道器技術實現有哪些

6. zuul閘道器工作原理是什麼樣的

6.1 整體處理流程圖

6.2 請求生命週期

7. 技術上如何選型

1. 簡介

通過以下幾個問題去理解微服務中的乙個重要元件:api閘道器。

什麼是api閘道器

為什麼需要api閘道器

api閘道器在微服務架構體系中處於什麼位置

閘道器技術實現有哪些

zuul閘道器工作原理是什麼樣的

技術上如何選型

2. 什麼是api閘道器

api網是乙個反向路由:遮蔽內部細節,為呼叫者提供統一入口,接收所有呼叫者請求,通過路由機制**到服務例項。

api閘道器是一組「過濾器」集合:可以實現一系列與核心業務無關的橫切面功能,如安全認證、限流熔斷、日誌監控。

3. 為什麼需要api閘道器

什麼是api閘道器中已給出理由,簡單總結:

遮蔽內部細節

反向路由

安全認證

限流熔斷

日誌監控

4. api閘道器在微服務架構體系中處於什麼位置

4.1 呼叫者眼中的api閘道器

統一入口

內部服務對於呼叫者是透明的

4.2 所處的位置

處於負載均衡與業務服務之間

api閘道器也可實現負載均衡功能

5. 閘道器技術實現有哪些

簡單列舉,不做比較,有興趣可查詢資料,後續為基於zuul閘道器來理解工作流程原理

1zuul:是netflix開源的乙個api gateway 伺服器, 本質上是乙個web servlet應用。spring cloud已整合

kong:是一款基於nginx_lua模組寫的高可用,易擴充套件由mashape公司開源的api gateway專案

6. zuul閘道器工作原理是什麼樣的

因為後續api閘道器元件會聚焦於zuul,這裡對zuul工作原理提前學習。

16.1 整體處理流程圖

zuul本身是乙個servlet

httpservlet request請求到達zuul servlet

通過zuulfilter runner ,並且根據routing filter 型別執行filter 鏈

根據filtertype型別不同,執行的順序不同且可完成不同的功能

pre:在請求被路由之前呼叫,可實現日誌監控、身份認證、黑名單等功能

route:在路由請求時候被呼叫

post:在route和error過濾器之後被呼叫,可實現審計、統計等功能

error:處理請求時發生錯誤時被呼叫、可實現統一異常處理等功能

request context:在請求生命週期中共享變數

filter的實現是可插拔的

指令碼實現filter

發布到filter目錄中

由filter manager與filter loader自動載入

6.2 請求生命週期

微服務 閘道器

3 很難重構 二 定義 三 閘道器的用途 四 優缺點 缺點 五 實現 採用反應性程式設計模型 服務呼叫 服務發現 處理部分失敗 netflix hysrix 對於實現遠端服務呼叫 來說是乙個非常好用的庫。hystrix記錄那些超過預設定的極限值的呼叫。它實現了circuit break模式,使得可以...

微服務閘道器

1.什麼是微服務閘道器 api閘道器是乙個伺服器,是系統對外的唯一入口。api閘道器封裝了系統內部架構,為每個客戶端提供乙個定製的api。api閘道器方式的核心要點是 所有的客戶端和消費端都通過統一的閘道器接入微服務,在閘道器層處理所有的非業務功能。2.為什麼需要微服務閘道器 首先是需要路由器功能,...

微服務閘道器

nacos配置中心 限流 工程名稱api gateway org.springframework.cloudgroupid spring cloud starter gatewayartifactid dependency server port 9000 spring name api gatew...