zk eureka数据一致性的优化 ,系统遇到过服务发现过慢

zk,一般来说还好,服务注册和发现,都是很快的

eureka,必须优化参数

如果完全按上面默认的时间,整个响应时间会很慢,超过几十秒或两三分钟。

 1    在eureka服务增加如下配置,让写缓存同步时间减短

eureka.server.responseCacheUpdateIntervalMs = 3000  ---->可以改为默认的30000ms改为3000ms

2   在应用服务上加下配置,让服务发现时间间隔减短

 eureka.client.registryFetchIntervalSeconds = 30000    ---->可以改为默认的30000ms改为3000ms

3  在应用服务上加下配置,让服务心跳间隔减短 

eureka.client.leaseRenewalIntervalInSeconds = 30  ---->可以改为默认的30s改为3s

4  在eureka服务上加下配置,让检查服务心跳间隔减短 

eureka.server.evictionIntervalTimerInMs = 60000 ---->可以改为默认的60000ms改为6000ms

5 在eureka服务上加下配置,表示范监听心跳如果s没有响应就表示服务断开

eureka.instance.leaseExpirationDurationInSeconds = 90   ---->可以改为默认的90s改为6s

6  eureka自我保护机制最好关闭。如果突然网络故障,导致大量服务实例不发心跳(超过某百分比)。如果打开保护机制(true),就不会把实例从注册表中删除,保持原有不变,因为认为是网络问题。所以上生产环境要关闭它

eureka.server.enable-self-preservation=false

如果一个服务挂了,感知用时: 6+3+3 =12s

服务发现的时效性变成秒级,几秒钟可以感知服务的上线和下线

发布了283 篇原创文章 · 获赞 11 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/liuming690452074/article/details/104613761