Eureka 已停止的微服务节点注销慢或不注销怎么配置?

介绍


在开发环境下,常常希望 Eureka Server 能迅速有效地注销已停止的微服务实例。然而由于 Eureka Server 清理无效节点周期长(默认 90s),以及自我保护模式等原因,可能会遇到微服务注销慢甚至不注销的问题

Eureka Server端:配置关闭自我保护,并按需配置Eureka Server清理无效节点的时间间隔。


eureka.server.enable-self-preservation # 设为false,关闭自我保护 从而保证会注销微服务
eureka.server.eviction-interval-timer-in-ms # 清理间隔(单位毫秒,默认是60*1000)

Eureka Client端:配置开启健康检查,并按需配置续约更新时间和到期时间。


eureka.client .healthcheck .enabled #设为true,开启健康检查(需要spring-boot-starterractuator依赖)
eureka.instance.lease-renewal-interval-in-seconds # 续约更新时间间隔(默认30秒)
eureka.instance.lease-expiration-duration-in-seconds # 续约到期时间(默认90秒)

得注意的是,这些配置仅建议在开发或测试时使用,在生产环境下建议坚持便用默认

下面给出两个示例


Eureka Server 配置 eureka: server

eureka:
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 4000

Eureka Client 配置 eureka: client

eureka:
  client:
    healthcheck:
      enabled: true
  instance:
    lease-expiration-duration-in-seconds: 30
    lease-renewal-interval-in-seconds: 10

修改 Eureka 的续约频率可能会打破 Eureka 的自我保护特性,这意味着在生产环境中,如果想要使用 Eurcka 的自我保护特性,应坚持使用默认配置。

版权声明:本文为作者原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原创文章,作者:老C,如若转载,请注明出处:https://www.code404.icu/1379.html

发表评论

登录后才能评论