属于我的梦,明明还在
个人工具站/博客持续更新中用于技术层面探讨 http://rhx0306.online/
一、服务下线,eureka server端失效剔除的流程
  一个服务出现了故障,eureka server端如何发现它挂了,并把它从服务注册列表中删除掉?

  1、client端发送给server端的心跳

  2、server端启动的定时线程去检查client端是否在规定时间内发送了心跳,如果没有发送就认为该服务出现了故障。

  3、将服务信息从server服务注册列表清除

  4、readWrite缓存信息清除

  5、readWrite缓存与readOnly 缓存同步

  6、client端拉取readOnly缓存的时间间隔设置

 结论:需要缩短eureka 服务器列表清除时间-->缩短缓存信息清除时间-->缩短缓存同步时间-->缩短client端拉取缓存时间

  线上册数设置,工作中的一些配置,大家可以根据自己的情况灵活调整

  client微服务端设置的参数:

# 心跳检测检测与续约时间,默认30s,设置为10s  lease-renewal-interval-in-seconds: 10

2、服务失效剔除的时间间隔

 # 测试时将值设置设置小些,保证服务关闭后注册中心能及时踢出服务   lease-expiration-duration-in-seconds: 20

  Eureka server端参数设置

1、移除队列里过期的租约变更记录的定时任务执行频率

#移除队列里过期的租约变更记录的定时任务执行频率,单位:毫秒。默认值 :30 * 1000 毫秒。  eviction-interval-timer-in-ms: 3000

2、客户端拉取readOnly缓存的时间间隔,默认是30s,可以根据需要调整,我们线上是使用的10s   eureka.client.registry-fetch-interval-seconds=30

3、readWrite缓存到readOnly缓存的同步时间,调整eureka的server端配置参数,对应的配置参数,#只读缓存更新频率,单位:毫秒,默认是30s,我们线上使用的是3s钟 response-cache-update-interval-ms: 3000

 

posted on 2026-03-23 14:21  属于我的梦,明明还在  阅读(0)  评论(0)    收藏  举报