總結
不要忘記檢查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...