日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nacos 集群_Nacos 常见问题及解决方法

發布時間:2025/10/17 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nacos 集群_Nacos 常见问题及解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nacos 開源至今已有一年,在這一年里,得到了很多用戶的支持和反饋。在與社區的交流中,我們發現有一些問題出現的頻率比較高,為了能夠讓用戶更快的解決問題,我們總結了這篇常見問題及解決方法,這篇文章后續也會合并到 Nacos 官網的 FAQ 里。

如何依賴最新的 Nacos 客戶端?

很多用戶都是通過 Spring Cloud Alibaba 或者 Dubbo 依賴的 Nacos 客戶端,那么 Spring Cloud Alibaba 和 Dubbo 中依賴的 Nacos 客戶端版本,往往會落后于 Nacos 最新發布的版本。在一些情況下,用戶需要強制將 Nacos 客戶端升級到最新,此時卻往往不知道該升級哪個依賴,這里將 Spring Cloud Alibaba 和 Dubbo 的依賴升級說明如下:

Spring Cloud Alibaba

用戶通常是配置以下Maven依賴來使用的 Nacos:

<!--Nacos Discovery--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>[latest version]</version></dependency><!--Nacos Config--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>[latest version]</version></dependency>

這兩個 JAR 包實際上又依賴了以下的 JAR 包:

<dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>[a particular version]</version> </dependency>

如果 nacos-client 升級了,對應的 spring-cloud 客戶端版本不一定也同步升級,這個時候可以采用如下的方式強制升級 nacos-client(以 nacos-discovery 為例):

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>[latest version]</version><excludes><exclude><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></exclude></excludes></dependency><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>[latest version]</version> </dependency>

Dubbo

Dubbo 也是類似的道理,用戶通常引入的是以下的依賴:

<dependency><groupId>com.alibaba</groupId><artifactId>dubbo-registry-nacos</artifactId><version>[latest version]</version> </dependency><!-- Dubbo dependency --> <dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>[latest version]</version> </dependency>

需要升級 Nacos 客戶端時,只需要如下修改依賴:

<dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>[latest version]</version> </dependency>

客戶端 CPU 高,或者內存耗盡的問題

問題的現象是依賴 Nacos 客戶端的應用,在運行一段時間后出現 CPU 占用率高,內存占用高甚至內存溢出的現象,可以參考 Issue

這種情況首先要做的是分析 CPU 高或者內存占用高的原因,常用的命令有 top、jstack、jmap、jhat 等。其中一種情況是 Nacos 客戶端實例在 Spring Cloud Alibaba 服務框架中被反復構造了多次,可以參考 Issue

這個問題已經得到了修復,預期會在下個 Spring Cloud Alibaba 版本中發布。

日志打印頻繁的問題

在老的 Nacos 版本中,往往會有大量的無效日志打印,這些日志的打印會迅速占用完用戶的磁盤空間,同時也讓有效日志難以查找。目前社區反饋的日志頻繁打印主要有以下幾種情況:
1、access 日志大量打印,相關 Issue 點擊這里。

主要表現是 {nacos.home}/logs/access_log.2019-xx-xx.log 類似格式文件名的日志大量打印,而且還不能自動清理和滾動。這個日志是 Spring Boot 提供的 Tomcat 訪問日志打印,Spring Boot 在關于該日志的選項中,沒有最大保留天數或者日志大小控制的選項。因此這個日志的清理必須由應用新建 Crontab 任務來完成,或者通過以下命令關閉日志的輸出(在生產環境我們還是建議開啟該日志,以便能夠有第一現場的訪問記錄):

server.tomcat.accesslog.enabled=false

2、服務端業務日志大量打印且無法動態調整日志級別。這個問題在 1.1.3 已經得到優化,可以通過 API 的方式來進行日志級別的調整,調整日志級別的方式如下:

# 調整naming模塊的naming-raft.log的級別為error: curl -X PUT '$nacos_server:8848/nacos/v1/ns/operator/log?logName=naming-raft&logLevel=error' # 調整config模塊的config-dump.log的級別為warn: curl -X PUT '$nacos_server:8848/nacos/v1/cs/ops/log?logName=config-dump&logLevel=warn'

3、客戶端日志大量打印,主要有心跳日志、輪詢日志等。這個問題已經在 1.1.3 解決,請升級到 1.1.3 版本。

集群管理頁面,Raft Term 顯示不一致問題

在 Nacos 1.0.1 版本中,Nacos 控制臺支持了顯示當前的集群各個機器的狀態信息。這個功能受到比較多用戶的關注,其中一個被反饋的問題是列表中每個節點的集群任期不一樣。如下圖所示,圖片信息來自 Issue

對于這個任期不一致的問題,原因主要是因為獲取這個信息的邏輯有一些問題,沒有從對應的節點上獲取集群任期。這個問題會在下一個 Nacos 版本中修復。目前一個手動檢查集群任期的辦法是在每個節點上執行以下命令:

curl '127.0.0.1:8848/nacos/v1/ns/raft/state'

然后在返回信息中查找本節點的集群任期。因為每個節點返回的集群任期中,只有當前節點的信息是準確的,返回的其他節點的信息都是不準確的。

本文作者:朱鵬飛,Github ID @nkorange,Nacos 開源負責人,阿里巴巴云原生應用平臺技術專家。

原文鏈接

更多云計算干貨敬請關注阿里云官網知乎機構號:阿里云官網 - 知乎

總結

以上是生活随笔為你收集整理的nacos 集群_Nacos 常见问题及解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。