目錄
微服務專字段址
目錄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...