Nacos源码集群一致性
生活随笔
收集整理的這篇文章主要介紹了
Nacos源码集群一致性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在完成本地服務列表更新后,Nacos又實現了集群一致性更新,調用的是:
?
consistencyService.put(key, instances);
這里的ConsistencyService接口,代表集群一致性的接口,有很多中不同實現:
我們進入DelegateConsistencyServiceImpl來看:
@Override public void put(String key, Record value) throws NacosException {// 根據實例是否是臨時實例,判斷委托對象mapConsistencyService(key).put(key, value); }?其中的mapConsistencyService(key)方法就是選擇委托方式的:
private ConsistencyService mapConsistencyService(String key) {// 判斷是否是臨時實例:// 是,選擇 ephemeralConsistencyService,也就是 DistroConsistencyServiceImpl類// 否,選擇 persistentConsistencyService,也就是PersistentConsistencyServiceDelegateImplreturn KeyBuilder.matchEphemeralKey(key) ? ephemeralConsistencyService : persistentConsistencyService; }默認情況下,所有實例都是臨時實例,我們關注DistroConsistencyServiceImpl即可。
總結
以上是生活随笔為你收集整理的Nacos源码集群一致性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nacos源码更服务列表
- 下一篇: Nacos源码DistroConsist