Nacos?Client的Bug解決方法記錄
起因
在Nacos的API方式使用中,當使用如下的代碼去進行注冊服務時,在不同的版本的Nacos當中出現(xiàn)了不同的結果。
try {
NamingService namingService = new NacosNamingService("localhost:8848");
namingService.registerInstance("wanna", "localhost", 8889);
namingService.registerInstance("wanna", "localhost", 8890);
TimeUnit.SECONDS.sleep(500);
} catch (Exception ex) {
ex.printStackTrace();
}分析
- 1.在使用
Nacos Client和NacosServer版本為1.4.2的版本當中,該代碼正常運行,也能往NacosServer當中注冊上去兩個Instance。 - 2.在使用
Nacos Client和NacosServer版本為2.0.2的版本當中,該代碼只能往NacosServer當中注冊一個Instance,后進行注冊的8890,將會替代之前的8889,NacosServer中只有一個Instance。 - 3.在
Nacos Client使用1.4.2的版本,Nacos Server使用2.0.2的版本中,也能正常注冊。 - 4.在
Nacos Client使用2.0.2的版本,Nacos Server使用1.4.2的版本中,Client直接報錯,不能啟動。
版本兼容適配


懵逼狀態(tài),搞了一晚上排查問題,懷疑是Nacos Client版本的問題?
給Github提了Issue,官方回復是,這是設計的問題,在Client2.0.x的版本當中,NamingService維護著一個長連接,如果要注冊別的服務,需要重新創(chuàng)建一個NamingService去注冊。(就很那個,官方文檔說了和之前的API兼容,這,算是兼容嗎,給的示例代碼都是這樣子的。。。找了老半天問題所在,根本不清楚這個問題,還好我最后換版本了)
以上就是Nacos Client的Bug解決方法記錄的詳細內容,更多關于Nacos Client Bug解決的資料請關注腳本之家其它相關文章!
相關文章
SpringBoot整合OpenClaw技能系統(tǒng)的實戰(zhàn)指南
OpenClaw 雖然能直接通過聊天軟件指揮 AI 干活,但在企業(yè)場景里,我們總不能指望財務大姐在 Telegram 里敲命令來跑報表吧?本文教你用 SpringBoot 搭建一個企業(yè)級技能中臺,把 OpenClaw 的 5700+ 技能收編進 Java 體系,需要的朋友可以參考下2026-03-03
關于maven配置項目一直提示程序包不存在以及scope的坑
這篇文章主要介紹了關于maven配置項目一直提示程序包不存在以及scope的坑,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
Java通過socket客戶端保持連接服務端實現(xiàn)代碼
這篇文章主要介紹了Java通過socket客戶端保持連接服務端實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11

