Spring Cloud 2.2.2 源碼之十九Ribbon執行原理五

Spring Cloud 2.2.2 源碼之十九Ribbon執行原理五

基本流程圖

在這裏插入圖片描述

準備執行

服務器選完之後創建一個RibbonServer,封裝一些信息,執行。
在這裏插入圖片描述

execute

創建RibbonLoadBalancerContext上下文和狀態記錄器RibbonStatsRecorder做點計時,最後調用最開始封裝的新請求的apply方法:
在這裏插入圖片描述

InterceptingRequestExecution的execute

最後再包裝成ServiceRequestWrapper,讓攔截執行器InterceptingRequestExecution繼續執行。
在這裏插入圖片描述
最後內部就是發送請求給替換後的服務器了:
在這裏插入圖片描述
這樣基本的流程說完了,很多細節還是要自己看,比如負載均衡策略,其實有那麼多:
在這裏插入圖片描述
比如RandomRule隨機選擇:
在這裏插入圖片描述
當然如果你要自定義規則,實現這個接口就好:
在這裏插入圖片描述
比如隨便寫一個:
在這裏插入圖片描述
注入,如果放在可掃描的包下就變成全局共享啦,另外一種就是用RibbonClient註解指定,怎麼用就不多說了:
在這裏插入圖片描述
結果:
在這裏插入圖片描述
好了,其他的細節只能慢慢看啦,先知道基本原理吧,其他都不是大問題。

好了,今天就到這裏了,希望對學習理解有幫助,大神看見勿噴,僅爲自己的學習理解,能力有限,請多包涵。

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