Nacos參數配置詳解

Nacos客戶端版本

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.1.0.RELEASE</version>
</dependency>

參數配置詳解

com.alibaba.nacos.naming.log.level

Naming客戶端的日誌級別,改屬性通過客戶端啓動時通過命令行加參數指定

注:默認爲info

spring.cloud.nacos.discovery.heart-beat-interval: 

nacos客戶端向服務端發送心跳的時間間隔,默認5s

注:客戶端向服務端每隔5s向服務端發送心跳請求,進行服務續租,告訴服務端該實例IP健康。若在3次心跳的間隔時間(默認15s)內服務端沒有接受到該實例的心跳請求,則認爲該實例不健康,該實例將無法被消費。如果再次經歷3次心跳的間隔時間,服務端接受到該實例的請求,那麼會立刻將其設置外健康,並可以被消費,若未接受到,則刪除該實例的註冊信息。推薦配置爲5s,如果有的業務線希望服務下線或者出故障時希望儘快被發現,可以適當減少該值。

spring.cloud.nacos.discovery.heart-beat-timeout: 

服務端沒有接受到客戶端心跳請求就將其設爲不健康的時間間隔,默認爲15s

注:推薦值該值爲15s即可,如果有的業務線希望服務下線或者出故障時希望儘快被發現,可以適當減少該值。

spring.cloud.nacos.discovery.log-name: 

nacos客戶端會在啓動時打印一部分發送註冊請求信息和異常日誌,可以通過日誌查看註冊的nacos集羣地址、服務名、nameSpace、IP、元數據等內容,文件名默認爲naming.log

注:推薦將該日誌的位置設置爲和其他日誌在一個文件夾下

spring.cloud.nacos.discovery.metadata: 

給服務添加一些標籤,例如屬於什麼業務線,該元數據會持久化存儲在服務端,但是客戶端消費時不會獲取到此值,默認爲空
注:推薦爲空,我們可以通過已經註冊的服務名來找到具體的業務線,無需添加metadata

spring.cloud.nacos.discovery.namespace:

命名空間ID,Nacos通過不同的命名空間來區分不同的環境,進行數據隔離,服務消費時只能消費到對應命名空間下的服務。

注:開發和測試環境通過Jenkins部署時,Jenkins會默認將該值替換成對應環境下的namespace,無需人工修改。生產和預發環境namespace爲空,對應的命名空間爲public,預發和正式的服務通過服務名的後綴區分服務(預發後綴爲pre,生產後綴爲prod)

spring.cloud.nacos.discovery.naming-load-cache-at-start: 

默認爲false。客戶端在啓動時是否讀取本地配置項(一個文件)來獲取服務列表

注:推薦該值爲false,若改成true。則客戶端會在本地的一個文件中保存服務信息,當下次宕機啓動時,會優先讀取本地的配置對外提供服務。

spring.cloud.nacos.discovery.port: 

向nacos註冊服務時,服務對應的端口號

注:無需修改,默認爲應用對外提供服務的端口號,server.port

spring.cloud.nacos.discovery.register-enabled:

該項目是否向註冊中心註冊服務,默認爲true

注:如果服務從註冊中心只消費服務,沒有對外提供服務,那麼該值可設置爲false,可減少客戶端線程池的創建,無需向服務端發送心跳請求,提高性能。

spring.cloud.nacos.discovery.server-addr

nacos集羣地址。

注:多個IP可以通過“,”號隔離,例如192.168.80.1:8848,192.168.80.1:8848  填寫域名時前綴不要加上http://

spring.cloud.nacos.discovery.service:  項目向註冊中心註冊服務時的服務名,默認爲

spring.application.name 變量
注:該服務名必須使用小寫,因爲nacos服務名區分大小寫,如果服務名不完全匹配,那麼無法調用服務

spring.cloud.nacos.discovery.watch-delay: 

默認爲30s。默認爲true,客戶端在啓動時會創建一個線程池,該線程定期去查詢服務端的信息列表,該請求不會立刻返回,默認等待30s,若在30s內,服務端信息列表發生變化,則該請求立刻返回,通知客戶端拉取服務端的服務信息列表,若30s內,沒有變化,則30s時該請求返回響應,客戶端服務列表不變,再次發生該請求。

注:推薦該值爲30s即可,無需修改

spring.cloud.nacos.discovery.watch.enabled: 

默認爲true,默認爲true,客戶端在啓動時會創建一個線程池,該線程定期去查詢服務端的信息列表,該請求不會立刻返回,默認等待30s,若在30s內,服務端信息列表發生變化,則該請求立刻返回,通知客戶端拉取服務端的服務信息列表,若30s內,沒有變化,則30s時該請求返回響應,客戶端服務列表不變,再次發生該請求。

注:推薦該功能爲true,這是nacos類似長連接推送服務變化的功能,不要關閉

spring.cloud.nacos.discovery.weight: 

nacos支持服務端基於權重的負載均衡,該值默認爲1

注:建議該值保持默認即可,因爲代碼可能會部署到不同的服務器上,無法確保某臺服務器的配置一定較好,如果有需要修改該值的需求,可以上控制檯修改,這樣可以保證對應IP服務器的權重值較高

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章