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