赞
踩
配置名称 | 配置作用 |
---|---|
eureka.server.eviction-interval-timer-in-ms | 定时清除服务失效的间隔时间 |
eureka.server.use-read-only-response-cache | 是否使用Eureka缓存 |
eureka.server.response-cache-update-interval-ms | Eureka缓存更新间隔时间 |
eureka.server.enable-self-preservation | 自我保护机制,默认开启 |
配置名称 | 配置作用 |
---|---|
eureka.instance.lease-renewal-interval-in-seconds | 服务续约心跳间隔,默认30s |
eureka.instance.lease-expiration-duration-in-seconds | 没有心跳的淘汰时间,默认为3个心跳,90s |
eureka.client.registry-fetch-interval-seconds | 拉取服务注册信息间隔,默认 |
需求:当客户端需要停机时,需要将服务在Eureka服务端下线,然后将已经请求到服务的流量处理完成后再停机。
需求拆分:
服务端 | |
---|---|
eureka.server.eviction-interval-timer-in-ms | 600000(1min) |
eureka.server.use-read-only-response-cache | true |
eureka.server.response-cache-update-interval-ms | 10000(10s) |
eureka.server.enable-self-preservation | true |
客户端 | |
---|---|
eureka.instance.lease-renewal-interval-in-seconds | 5 |
eureka.instance.lease-expiration-duration-in-seconds | 15 |
eureka.client.registry-fetch-interval-seconds | 5 |
分析不同下线情况下耗时
正常下线耗时:20s = 5s(客户端上报服务下线)+ 10s(Eureka缓存刷新时间) + 5s(客户端拉取注册信息表数据)
异常下线耗时:30s = 15s(客户端3周期没有续约) + 10s(Eureka缓存刷新时间) + 5s(客户端拉取注册信息表数据)
除调整Eureka配置外,还需要将其余承接线上流量的组件关闭节流,使用@PreDestroy关闭节流。
在关闭接流期间打到服务的请求,需要留足够多的时间来处理,因此在使用容器部署的服务需要将容器销毁的等待时间设置为30s以上。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。