javascript
【Spring框架家族】Spring Cloud Eureka 之常用配置解析(转载)
1. 配置項(xiàng)解析
1.1 通用配置
# 應(yīng)用名稱,將會(huì)顯示在Eureka界面的應(yīng)用名稱列 spring.application.name=config-service# 應(yīng)用端口,Eureka服務(wù)端默認(rèn)為:8761 server.port=33331.2 eureka.server前綴的配置項(xiàng)
# 是否允許開啟自我保護(hù)模式,缺省:true # 當(dāng)Eureka服務(wù)器在短時(shí)間內(nèi)丟失過多客戶端時(shí),自我保護(hù)模式可使服務(wù)端不再刪除失去連接的客戶端 eureka.server.enable-self-preservation = false# Peer節(jié)點(diǎn)更新間隔,單位:毫秒 eureka.server.peer-eureka-nodes-update-interval-ms = # Eureka服務(wù)器清理無效節(jié)點(diǎn)的時(shí)間間隔,單位:毫秒,缺省:60000,即60秒 eureka.server.eviction-interval-timer-in-ms = 600001.3 eureka.instance前綴的配置項(xiàng)
# 服務(wù)名,默認(rèn)取 spring.application.name 配置值,如果沒有則為 unknown eureka.instance.appname = eureka-client# 實(shí)例ID eureka.instance.instance-id = eureka-client-instance1# 應(yīng)用實(shí)例主機(jī)名 eureka.instance.hostname = localhost# 客戶端在注冊(cè)時(shí)使用自己的IP而不是主機(jī)名,缺省:false eureka.instance.prefer-ip-address = false# 應(yīng)用實(shí)例IP eureka.instance.ip-address = 127.0.0.1# 服務(wù)失效時(shí)間,失效的服務(wù)將被剔除。單位:秒,默認(rèn):90 eureka.instance.lease-expiration-duration-in-seconds = 90# 服務(wù)續(xù)約(心跳)頻率,單位:秒,缺省30 eureka.instance.lease-renewal-interval-in-seconds = 30# 狀態(tài)頁面的URL,相對(duì)路徑,默認(rèn)使用 HTTP 訪問,如需使用 HTTPS則要使用絕對(duì)路徑配置,缺省:/info eureka.instance.status-page-url-path = /info# 健康檢查頁面的URL,相對(duì)路徑,默認(rèn)使用 HTTP 訪問,如需使用 HTTPS則要使用絕對(duì)路徑配置,缺省:/health eureka.instance.health-check-url-path = /health1.4 eureka.client前綴
# Eureka服務(wù)器的地址,類型為HashMap,缺省的Key為 defaultZone;缺省的Value為 http://localhost:8761/eureka # 如果服務(wù)注冊(cè)中心為高可用集群時(shí),多個(gè)注冊(cè)中心地址以逗號(hào)分隔。 eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka# 是否向注冊(cè)中心注冊(cè)自己,缺省:true # 一般情況下,Eureka服務(wù)端是不需要再注冊(cè)自己的 eureka.client.register-with-eureka = true# 是否從Eureka獲取注冊(cè)信息,缺省:true # 一般情況下,Eureka服務(wù)端是不需要的 eureka.client.fetch-registry = true# 客戶端拉取服務(wù)注冊(cè)信息間隔,單位:秒,缺省:30 eureka.client.registry-fetch-interval-seconds = 30# 是否啟用客戶端健康檢查 eureka.client.health-check.enabled = true# eureka.client.eureka-service-url-poll-interval-seconds = 60# 連接Eureka服務(wù)器的超時(shí)時(shí)間,單位:秒,缺省:5 eureka.client.eureka-server-connect-timeout-seconds = 5# 從Eureka服務(wù)器讀取信息的超時(shí)時(shí)間,單位:秒,缺省:8 eureka.client.eureka-server-read-timeout-seconds = 8# 獲取實(shí)例時(shí)是否只保留狀態(tài)為 UP 的實(shí)例,缺省:true eureka.client.filter-only-up-instances = true# Eureka服務(wù)端連接空閑時(shí)的關(guān)閉時(shí)間,單位:秒,缺省:30 eureka.client.eureka-connection-idle-timeout-seconds = 30# 從Eureka客戶端到所有Eureka服務(wù)端的連接總數(shù),缺省:200 eureka.client.eureka-server-total-connections = 200# 從Eureka客戶端到每個(gè)Eureka服務(wù)主機(jī)的連接總數(shù),缺省:50 eureka.client.eureka-server-total-connections-per-host = 502. 配置項(xiàng)說明
Eureka中有一些配置項(xiàng),通過查看網(wǎng)上的資料可以大概知道其含義,然而如果沒有一個(gè)直觀的指導(dǎo),并不能清晰地認(rèn)識(shí)他們實(shí)際的作用效果。下面通過截圖對(duì)部分配置項(xiàng)加以解釋說明。
2.1 spring.application.name和eureka.instance.appname
同時(shí)配置時(shí),eureka.instance.appname優(yōu)先級(jí)更高。
如果沒有配置eureka.instance.appname,則使用spring.application.name的值,如果連spring.application.name都沒有配置,則取unknown。
該配置項(xiàng)對(duì)應(yīng)Eureka界面下圖紅框的內(nèi)容:
2.2 eureka.instance.instance-id
配置項(xiàng)eureka.instance.instance-id的值決定了下圖右側(cè)紅框中的顯示內(nèi)容:
如果沒有設(shè)置eureka.instance.instance-id,那么顯示的值將是一個(gè)由Eureka自動(dòng)判斷生成的編號(hào):
2.3 eureka.instance.prefer-ip-address、eureka.instance.hostname、eureka.instance.ip-address
eureka.instance前綴的配置項(xiàng)中,這幾個(gè)配置項(xiàng)絕對(duì)燒腦,根據(jù)周立的博客,在eureka.instance.prefer-ip-address = true時(shí),實(shí)例優(yōu)先使用eureka.instance.ip-address的值進(jìn)行注冊(cè),如果沒有配置eureka.instance.ip-address,則使用第一個(gè)非回環(huán)IP地址進(jìn)行注冊(cè)。
此時(shí),我們打開Eureka的界面,在實(shí)例上右鍵,復(fù)制鏈接地址;或?qū)⑹髽?biāo)放在下圖右上方的鏈接上(不點(diǎn)擊),就可以獲取實(shí)例的地址,如下圖左下角,可見此時(shí)實(shí)例注冊(cè)的是IP:
而當(dāng)eureka.instance.prefer-ip-address = false時(shí),同樣的方式可以查看實(shí)例注冊(cè)地址采用了主機(jī)名eureka.instance.hostname的值:
3. 配置Bean源碼
最后,對(duì)應(yīng)于本文出現(xiàn)的配置項(xiàng),Eureka中定義的源碼類如下。
eureka.server前綴的配置項(xiàng)
org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
eureka.instance前綴的配置項(xiàng)
org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean
eureka.client前綴的配置項(xiàng)
org.springframework.cloud.netflix.eureka.EurekaClientConfigBean
參考博文:
https://www.cnblogs.com/liaojie970/p/8807023.html
https://www.cnblogs.com/li3807/p/7282492.html
https://www.jianshu.com/p/c18d140ad9f6
https://www.cnblogs.com/zyon/p/11023750.html
總結(jié)
以上是生活随笔為你收集整理的【Spring框架家族】Spring Cloud Eureka 之常用配置解析(转载)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Spring框架家族】SpringBo
- 下一篇: 【源码解析】ArrayList源码解析