soul資料同步之nacos 2

2021-10-17 09:05:09 字數 2210 閱讀 9679

上節第3步開啟了如下配置:

}nacos資料同步操作如下:

public class nacossyncdataservice extends nacoscachehandler implements autocloseable, syncdataservice 

/*** start.

*/public void start()

@override

public void close() );

listeners.clear();

}}

nacos watch操作如下:

public class nacoscachehandler 

protected void updatepluginmap(final string configinfo) ));

} catch (jsonparseexception e)

}protected void updateselectormap(final string configinfo) ));

} catch (jsonparseexception e)

}protected void updaterulemap(final string configinfo) ));

} catch (jsonparseexception e)

}protected void updatemetadatamap(final string configinfo) ));

} catch (jsonparseexception e)

}protected void updateauthmap(final string configinfo) ));

} catch (jsonparseexception e)

}@sneakythrows

private string getconfigandsignlistener(final string dataid, final listener listener)

protected void watcherdata(final string dataid, final onchange oc)

@override

public executor getexecutor()

};oc.change(getconfigandsignlistener(dataid, listener));

listeners.getordefault(dataid, new arraylist<>()).add(listener); // 新增乙個***,對資料進行更新

}protected inte***ce onchange

}

nacos 的資料基本都是採用json來進行資料同步的。資料的更新完全是採用全量式的更新,更新消耗的網路資源也會比較大。

Soul閘道器(九) Nacos同步資料

soul admin的nacos配置類nacosconfiguration初始化bean時通過nacosfactory建立配置服務。nacosdatachangedlistener 會監聽配置的變化,並將變化的配置存入本地記憶體,然後通過 nacos 的配置服務將變化的資料同步到 nacos 中 將...

soul閘道器資料同步方式之zookeeper

基於 zookeeper 的同步原理很簡單,主要是依賴 zookeeper 的 watch 機制,soul web 會監聽配置的節點,soul admin 在啟動的時候,會將資料全量寫入 zookeeper,後續資料發生變更時,會增量更新 zookeeper 的節點,與此同時,soul web 會監...

Soul API閘道器資料同步之Nacos資料同步

在前面的幾篇文章中已經介紹了http zk websocket這幾種同步資料的方式,也對其中的原始碼做了些分析。那麼本篇文章將開始nacos資料同步的解析了。還是和前面一樣要從配置檔案開始,還是soul admin soul bootstrap這兩個工程的配置檔案。soul admin.yml so...