數據同步機制

兩臺服務之間數據同步

數據同步

   數據同步機制有很多種,我之前在項目中有遇到兩臺服務器之間文件同步、集中管理平臺服務器同步配置信息給節點,最近也看到了SpringCloud Alibaba組件之一Nacos配置管理相關的文章,也從中學到了數據同步的一種實現方式,如果後續我有遇到或想到一些同步機制的方法或想法,會持續更新這篇文章。

nacos-數據同步機制

nacos是alibaba SpringCloud下的配置管理組件,nacos分爲服務端和客戶端,服務端主要提供界面配置功能,客戶端主要提供同步服務端配置信息的功能。這裏我寫一下大概的一種實現機制,以後可以作爲參考的一種想法:

  1. 客戶端註冊監聽器 ,將自己要監聽的數據類型註冊到管理中心;
  2. 客戶端定時輪詢任務,執行定時任務,每隔一段時間主動向服務端發起http請求獲取配置信息 ;
  3. 本地數據檢查,對比服務端獲取到的信息和本地緩存中存儲的信息 ,如果不一致,則回調監聽器
  4. 本地數據存儲文件,爲了防止客戶端和服務端均宕機導致無法正常獲取數據,將配置數據寫入本地文件做個備份 ;

思考:

  1. 爲什麼要使用客戶端拉取這種模式而不用服務端推送模式?
    我的理解是如果採用服務端推送模式,如果是建立長連接的話,需要做的維護工作要更多一些:要保證連接不失效、要耗費連接資源;如果是通過http短連接去推送,需要做的工作:維護客戶端ip列表,這種方式明顯不合適,因爲客戶端可能衆多,ip變了都還要通知到服務端,增加了客戶端和服務端的耦合性。
  2. 這種同步機制還有沒有可以改進的地方?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章