SpringCloud Gateway的工作原理


Spring Cloud Gateway是Spring官方基於Spring5.0,Spring Boot2.0和Project Reactor等技術開發的網關,Spring Cloud Gateway旨在為微服務架構提供簡單,有效且統一的API路由管理方式。Spring Cloud Gateway作為Spring Cloud 生態系統中的網關,目標是替代Netflix Zuul,其不僅提供統一的路由方式,並且還基於Filter鏈的方式提供了網關基本的功能,例如:安全,監控、埋點,限流等。

Spring Cloud Gateway 的核心處理流程如下圖,Gateway的客戶端回向Spring Cloud Gateway發起請求,請求首先會被HttpWebHandlerAdapter進行提取組裝成網關的上下文,然后網關的上下文會傳遞到DispatcherHandler。DispatcherHandler是所有請求的分發處理器,DispatcherHandler主要負責分發請求對應的處理器,比如將請求分發到對應RoutePredicateHandlerMapping(路由斷言處理器映射器)。路由斷言處理映射器主要用於路由的查找,以及找到路由后返回對應的FilteringWebHandler。FilteringWebHandler主要負責組裝Filter鏈表並調用Filter執行一系列Filter處理,然后把請求轉到后端對應的代理服務處理,處理完畢后,將Response返回到Gateway客戶端。

在Filter鏈中,通過虛線分割Filter的原因是,過濾器可以在轉發請求之前處理或者接收到被代理服務的返回結果之后處理。所有的Pre類型的Filter執行完畢之后,才會轉發請求到被代理的服務處理。被代理的服務把所有請求完畢之后,才會執行Post類型的過濾器。

 

 


原文鏈接:SpringCloud Gateway的工作原理_手寫ArrayList-CSDN博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM