eureka服務發現過慢的優化


 
低版本
版本信息:
  spring boot 1.5.3
  spring-cloud-dependencies:Edgware.SR3
 
#writeRead緩存定時同步到ReadOnly的緩存
eureka.server.responseCacheUpdateIntervalMs =30000 



#拉取服務注冊表的間隔
eureka.client.registryFetchIntervalSeconds = 30000
#心跳的間隔
eureka.client.leaseRenewalIntervalInSeconds = 30 
#定時檢查心跳
eureka.server.evictionIntervalTimerInMs = 60000
#如果超過多少秒沒檢測到,視為服務down機
eureka.instance.leaseExpirationDurationInSeconds = 90

  

高版本
spring boot 2.1.6
spring cloud :Greenwich.SR1

eureka服務器設置:

eureka:
  server:
    enable-self-preservation: false   #關閉自我保護機制
    response-cache-update-interval-ms: 5000   #writeRead緩存定時同步到ReadOnly的緩存
    eviction-interval-timer-in-ms: 5000    #定時檢查心跳

 

client的設置:

eureka:
  instance:
    lease-renewal-interval-in-seconds: 5 #發送心跳
    lease-expiration-duration-in-seconds: 8  #這個實例多少秒沒檢查到心跳視為下線
  client:
    registry-fetch-interval-seconds: 10  #定時拉取注冊表

  

案例分析:客戶端設置的參數的效果
 
我的服務端設置成這樣  
eureka:
    enable-self-preservation: false
    response-cache-update-interval-ms: 5000
    eviction-interval-timer-in-ms: 1000
 
我的客戶端設置成這樣:
eureka:
  instance:
    lease-renewal-interval-in-seconds: 30
    lease-expiration-duration-in-seconds: 8
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
    registry-fetch-interval-seconds: 10

  

1. 可以看到Running the evict task with compensationTime 0ms 這一句話是1秒一次,這個就是代表定時檢查心跳的間隔
2.可以看到up->cancelled時間大概是8秒 這就是我設置的lease-expiration-duration-in-seconds的時間,up->up時間大概是30秒,這就是 lease-renewal-interval-in-seconds的時間

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM