問題描述
當時配置不同命名空間的時候出現了問題,終端一直打印INFO日志,獲取nacos配置中心的配置修改情況。
解決過程
- 還沒看過nacos的源碼,網上搜了一下nacos啟動后一直打印ClientWorker日志
這篇文章中寫道:由於判斷條件是本地配置的md5值與服務器的md5值對比。
因此,如果nacos-client 和 nacos-server 的 md5 算法不同,則會導致誤判,從而不停刷新,導致不停地打印ClientWorker日志。 - 我猜測應該是緩存的問題
- 2020/12/16
- 最近看了源碼,然后測試了幾下,發現一些問題:
- 操作上的問題:我在項目開着的情況下刪除了項目正在監聽的配置,然后控制台就報錯了,重啟之后還是一直報錯。我看了下日志,項目仍然在查找剛才我刪除的配置文件,大概是因為用戶目錄下有一個配置的備份./nacos/config/xxx,里面備份了項目從nacos配置中心拿來的所有配置文件,nacos客戶端就一直訪問這個東西,應該是沒有清除緩存的緣故。
- 還是操作上的問題:我開着項目的情況下新建了命名空間,然后加入bootstrap.properties中的namespace后重啟了項目就一直打印ClientWorker的接收日志
解決方案
第一種是將nacos版本升級到1.4,前兩天剛好發布了1.4版本,(運氣不錯) nacos releases 直接升級就解決了解決個屁,運氣好罷了,操作穩定罷了 2333 最好還是用自己springboot對應的版本,實在不行可以回退springboot版本來對應nacos,不要逆版本行事...- 第二種方法治標不治本,即修改日志等級,找到日志打印的類的地方,比如說ClientWorker和CacheData這兩個類,日志中[data-received]balabla 就是ClientWorker打印的,他們的package都是com.alibaba.nacos.client.config.impl
並且都是info日志等級,所以給他們加上WARN等級,但是這樣一來呢,我們自己修改的配置輸出都看不到了:
logging.level.com.alibaba.nacos.client.config.impl: WARN
- 所以說還是需要正確的操作,增加nacos配置和命名空間都是要在項目配置文件中標記的,項目肯定要重啟,所以在操作前先把項目停下,然后改好了再上線。我是先關掉nacos服務(瀏覽器緩存也順帶清了),然后把用戶目錄下的備份刪掉 ./nacos/,然后啟動nacos,應該就可以了。 實在不行就關掉服務,刪掉備份,重啟服務器/pc。再不然就導出nacos服務配置,刪除備份,然后重裝nacos,然后建立好namespace,導入對應配置。
僅個人見解,有錯誤的地方望指正...