Spring 源碼分析:

spring gateway 概述:

spring gateway 源碼分析:

---------------------------------

spring gateway 概述:

網關的
自動配置類的,gateway的做負載均衡看一下,
sprig clound 組件,
三個gatewayproperties
配置文件寫進去,spring 的配置,初始書的類,
着兩個類,LoadBlace 三臺機器的方法,laodBlanceFiler 全部過濾起,大概初始化配置,庫存服務的
啓動一個庫存服務的,gateway 的訪問一個存儲的服務的,庫存服務,
對應的實例,核心的流程,
直接看源碼,前端採用的是webflus+reacctro的方法,
Springwebflex 的基本使用,如何理解下面的東西,MVC的框架。

 

spring gateway 源碼分析:

Spring gateway:

Spring Cloud提供了兩套方便我們編寫網關的中間件,分別是zuul和Spring GateWay,在zuul1的IO模型是使用BIO(圖1-1)。而zuul2對IO模型使用NIO進行了重構(圖1-2)。而Spring GateWay的IO模型是使用NIO。而在Netflix發佈zuul2的時候Spring Cloud已經開始不集成到Spring Cloud中,因爲Spring Cloud 等着zuul2集成太久,纔有了Spring Gateway。Spring GateWay的架構是基於Spring webflux的基礎上開發的。而對webflux的RP中涉及的Back Pressure、Stream、asynchronous好處不多說哈哈。

Spring Cloud提供了兩套方便我們編寫網關的中間件,分別是zuul和Spring GateWay,在zuul1的IO模型是使用BIO(圖1-1)。而zuul2對IO模型使用NIO進行了重構(圖1-2)。而Spring GateWay的IO模型是使用NIO。而在Netflix發佈zuul2的時候Spring Cloud已經開始不集成到Spring Cloud中,因爲Spring Cloud 等着zuul2集成太久,纔有了Spring Gateway。Spring GateWay的架構是基於Spring webflux的基礎上開發的。而對webflux的RP中涉及的Back Pressure、Stream、asynchronous好處不多說哈哈。


 

二、Spring GateWay 轉發請求過程

在Spring mvc是通過HandlerMapping解析請求鏈接,然後根據請求鏈接找到執行這個請求Controller類 。而在Spring GateWay中也是使用HandlerMapping對請求的鏈接進行解析匹配對應的Route進行代理轉發到對應的服務。圖2-1爲整個請求的流程,用戶請求先通過DispatcherHandler找到對應GateWwayHandlerMapping,再通過GateWwayHandlerMapping解析匹配到對應的Handler。Handler處理完後,再經過Filter,最終到Proxied Service.


 

 

 

 

三、 HandlerMapping \ RouteLocator\GlobalFilter(WebHandler)

3.1 HandlerMapping

圖3-1爲handler類關係圖。這裏主要涉及到Spring GateWay相關類的探討。如:Spring Webflux使用到的RouteFuntionMapping和SimpleUrlHandlerMapping等不做探討。


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章