Nacos?Client的Bug解決方法記錄
起因
在Nacos
的API
方式使用中,當(dāng)使用如下的代碼去進(jìn)行注冊(cè)服務(wù)時(shí),在不同的版本的Nacos
當(dāng)中出現(xiàn)了不同的結(jié)果。
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
的版本當(dāng)中,該代碼正常運(yùn)行,也能往NacosServer
當(dāng)中注冊(cè)上去兩個(gè)Instance
。 - 2.在使用
Nacos Client
和NacosServer
版本為2.0.2
的版本當(dāng)中,該代碼只能往NacosServer
當(dāng)中注冊(cè)一個(gè)Instance
,后進(jìn)行注冊(cè)的8890,將會(huì)替代之前的8889,NacosServer
中只有一個(gè)Instance
。 - 3.在
Nacos Client
使用1.4.2
的版本,Nacos Server
使用2.0.2
的版本中,也能正常注冊(cè)。 - 4.在
Nacos Client
使用2.0.2
的版本,Nacos Server
使用1.4.2
的版本中,Client
直接報(bào)錯(cuò),不能啟動(dòng)。
版本兼容適配
懵逼狀態(tài),搞了一晚上排查問(wèn)題,懷疑是Nacos Client
版本的問(wèn)題?
給Github提了Issue,官方回復(fù)是,這是設(shè)計(jì)的問(wèn)題,在Client2.0.x的版本當(dāng)中,NamingService
維護(hù)著一個(gè)長(zhǎng)連接,如果要注冊(cè)別的服務(wù),需要重新創(chuàng)建一個(gè)NamingService
去注冊(cè)。(就很那個(gè),官方文檔說(shuō)了和之前的API兼容,這,算是兼容嗎,給的示例代碼都是這樣子的。。。找了老半天問(wèn)題所在,根本不清楚這個(gè)問(wèn)題,還好我最后換版本了)
以上就是Nacos Client的Bug解決方法記錄的詳細(xì)內(nèi)容,更多關(guān)于Nacos Client Bug解決的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
idea一招搞定同步所有配置(導(dǎo)入或?qū)С鏊信渲?
使用intellij idea很長(zhǎng)一段時(shí)間,軟件相關(guān)的配置也都按照自己習(xí)慣的設(shè)置好,如果需要重裝軟件,還得需要重新設(shè)置,本文就詳細(xì)的介紹了idea 同步所有配置,感興趣的可以了解一下2021-07-07SpringBoot中TypeExcludeFilter的作用及使用方式
在SpringBoot應(yīng)用程序中,TypeExcludeFilter通過(guò)過(guò)濾特定類型的組件,使它們不被自動(dòng)掃描和注冊(cè)為bean,這在排除不必要的組件或特定實(shí)現(xiàn)類時(shí)非常有用,通過(guò)創(chuàng)建自定義過(guò)濾器并注冊(cè)到spring.factories文件中,我們可以在應(yīng)用啟動(dòng)時(shí)生效2025-01-01Java中使用Closeable接口自動(dòng)關(guān)閉資源詳解
這篇文章主要介紹了Java中使用Closeable接口自動(dòng)關(guān)閉資源詳解,Closeable接口繼承于AutoCloseable,主要的作用就是自動(dòng)的關(guān)閉資源,其中close()方法是關(guān)閉流并且釋放與其相關(guān)的任何方法,如果流已被關(guān)閉,那么調(diào)用此方法沒(méi)有效果,需要的朋友可以參考下2023-12-12Spring主配置文件(applicationContext.xml) 導(dǎo)入約束詳解
在本篇文章里我們給各位整理的是關(guān)于Spring主配置文件(applicationContext.xml) 導(dǎo)入約束的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要參考下。2019-08-08詳解Springboot2.3集成Spring security 框架(原生集成)
這篇文章主要介紹了詳解Springboot2.3集成Spring security 框架(原生集成),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08