一、服务下线,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
浙公网安备 33010602011771号