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: |
給服務添加一些標籤,例如屬於什麼業務線,該元數據會持久化存儲在服務端,但是客戶端消費時不會獲取到此值,默認爲空 |
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 變量 |
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服務器的權重值較高 |