soul原始碼解讀(十一) 資料同步總結

2021-10-17 15:47:16 字數 665 閱讀 2367

同步型別

實現方式

優點缺點

websocket

引入jar即可

使用簡單,雙向通訊,增量更新

要注意斷線重連

zookeeper

需要單獨安裝zookeeper

如果系統本身有用到zookeeper,可以很方便的整合

依賴zookeeper,zk頻繁寫效能不好

引入jar即可

不需要額外安裝第三方系統

不是傳統的長輪詢,每次輪詢都會重新發乙個http請求

nacos

需要單獨安裝nacos

如果系統本身有用到nacos,可以很方便的整合

依賴nacos

這4種同步資料的方式都會初始化資料。

更新資料,都是先改資料庫,然後通過 datachangedeventdispatcher **事件到具體的 listener ,

websocket 和 zookeeper 是增量更新,http 和 nacos 是全量更新。

總的來說,這4種同步資料的方式各有優劣,適合不同的場景。

如果本身專案裡就有用到 zookeeper 或者 nacos 的話,使用這兩種同步方式也挺好的,無障礙對接。

推薦大家使用 websocket ,無需引用外部系統,支援增量更新,配置簡單。

soul同步資料 websocket原始碼分析

通過官網資料了解到,soul支援websocket,http,zookeeper等同步方式。如果是通過websocket 同步策略,則將變更後的資料主動推送給 soul web,並且在閘道器層,會有對應的websocketcachehandler 處理器處理來處 admin 的資料推送。這列應該是官...

soul閘道器原始碼解析 資料同步 http同步

更新soul admin和soul bootstrap的yml檔案配置如下 truepom檔案依賴 加入依賴後閘道器需要重啟 啟動相關的服務 我們都是soul在第一次啟動的時候會進行一次全量的資料載入.httpsyncdataservice 在方中都使用構造器注入的時候呼叫的 start 方法.pr...

TestNG原始碼解讀(二十一)

前面把failedreporter類中主要 走查了一遍,現在梳理一下該類的類關係圖及方法間的呼叫關係圖,時序圖等 1.類關係圖 通過類關係圖可以看出生成failedtestng.xml檔案就是通過各種 拿到執行用例的各種結果,然後整合成乙份失敗用例的xml檔案 2.generatereport方法的...