Soul原始碼總結 01 22

2021-10-17 06:06:56 字數 1442 閱讀 7971

總結

不要忘記檢查pom.xml中是否加入相關依賴項

啟動soul-admin和soul-bootstrap專案,在soul-bootstrap控制台看到以下日誌:

說明此時http長輪詢同步機制建立成功.

soul閘道器http長輪詢機制可以參考官網的圖示以及說明: soul http long polling mechanism

configcontroller中注入longpollinglistener, 每當有請求打到/configs/listener埠時會開啟長輪詢

我們進入httplongpollingdatachangedlistener中,看到關鍵方法dolongpolling:

從該方法可以看出,每次首席執行官輪詢就會生成乙個新的非同步任務,然後將該非同步任務提交到scheduledexecutorservice執行緒池中,每隔60s執行一次。同時會將發來請求的client放入blockingqueue中,每隔60s從佇列中移除過期的client並加入新的client:

http長輪詢作為soul-admin和soul閘道器之間的同步方式,通websocket和zookeeper相比邏輯上處理會比較複雜,應該首先看明白官網的http長輪詢流程圖,再帶著問題看**會事半功倍。

Soul原始碼總結 01 20

總結首先啟動soul admin和soul bootstrap專案,在soul bootstrap控制台日誌會發現 soul admin與soul閘道器預設建立websocket通訊,那麼具體在 中是如何實現的呢?soul sync websocket urls ws localhost 9095 ...

Soul原始碼總結 01 26

divideplugin主要soul閘道器處理http protocol的主要外掛程式,當有http請求打到soul閘道器的時候,soulwebhandler會執行divideplugin來對http請求做相應的處理。divideplugin做的處理主要是對http請求進行 主要原理是根據不同的負載...

Soul原始碼總結 01 29

首先啟動專案soul admin以及soul bootstrap,以soul examples中的soul example http為例,註冊到soul閘道器上。同時在soul admin外掛程式管理中心開啟hystrix外掛程式 同時配置selector以及相關的rule,這裡以http loca...