码迷,mamicode.com
首页 > 其他好文 > 详细

eureka服务发现过慢的优化

时间:2021-04-07 11:02:29      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:default   class   dep   res   服务发现   int   发送   缓存   elf   

技术图片
技术图片
 
低版本
版本信息:
  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的时间

 
 

eureka服务发现过慢的优化

标签:default   class   dep   res   服务发现   int   发送   缓存   elf   

原文地址:https://www.cnblogs.com/dabenxiang/p/14619722.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!