Spring Cloud中,Eureka常見問題總結。spring
參考文檔:bootstrap
eureka.instance.leaseRenewalIntervalInSeconds
|
參考文檔:
服務器
翻譯:網絡
做爲實例還涉及到與註冊中心的週期性心跳,默認持續時間爲30秒(經過serviceUrl)。在實例、服務器、客戶端都在本地緩存中具備相同的元數據以前,服務不可用於客戶端發現(因此可能須要3次心跳)。你能夠使用eureka.instance.leaseRenewalIntervalInSeconds 配置,這將加快客戶端鏈接到其餘服務的過程。在生產中,最好堅持使用默認值,由於在服務器內部有一些計算,他們對續約作出假設。
|
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
|
保護模式主要用於一組客戶端和Eureka Server之間存在網絡分區場景下的保護。一旦進入保護模式,Eureka Server將會嘗試保護其服務註冊表中的信息,再也不刪除服務註冊表中的數據(也就是不會註銷任何微服務)。app
詳見: 在開發過程當中,咱們經常但願Eureka Server可以迅速有效地踢出已關停的節點,可是新手因爲Eureka自我保護模式,以及心跳週期長的緣由,經常會遇到Eureka Server不踢出已關停的節點的問題。解決方法以下:ide
(1) Eureka Server端:配置關閉自我保護,並按需配置Eureka Server清理無效節點的時間間隔。spring-boot
eureka.server.enable-self-preservation # 設爲false,關閉自我保護
eureka.server.eviction-interval-timer-in-ms # 清理間隔(單位毫秒,默認是60*1000)
|
(2) Eureka Client端:配置開啓健康檢查,並按需配置續約更新時間和到期時間。微服務
eureka.client.healthcheck.enabled # 開啓健康檢查(須要spring-boot-starter-actuator依賴)
eureka.instance.lease-renewal-interval-in-seconds # 續約更新時間間隔(默認30秒)
eureka.instance.lease-expiration-duration-in-seconds # 續約到期時間(默認90秒)
|
示例:
服務器端配置:this
eureka:
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 4000
|
eureka:
client:
healthcheck:
enabled: true
instance:
lease-expiration-duration-in-seconds: 30
lease-renewal-interval-in-seconds: 10
|
注意:
更改Eureka更新頻率將打破服務器的自我保護功能,生產環境下不建議自定義這些配置。
詳見: 在Spring Cloud中,服務的Instance ID的默認值是${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}
,也就是機器主機名:應用名稱:應用端口
。所以在Eureka Server首頁中看到的服務的信息相似以下:itmuch:microservice-provider-user:8000
。若是想要自定義這部分的信息怎麼辦?
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ instance: preferIpAddress: true instance-id: ${spring.cloud.client.ipAddress}:${server.port} # 將Instance ID設置成IP:端口的形式
eureka.client.healthcheck.enabled=true
只應該在application.yml中設置。若是設置在bootstrap.yml中將會致使一些不良的反作用,例如在Eureka中註冊的應用名稱是UNKNOWN等。
轉自:http://www.itmuch.com/spring-cloud-sum-eureka/