eureka服务续约

  • Post author:
  • Post category:其他


当服务启动并成功注册到Eureka服务器后,Eureka客户端会默认以每隔30秒的频率向Eureka服务器发送一次心跳(可以在配置文件中通过eureka.instance.lease-renewal-interval-in-seconds属性进行更改)。发送心跳起始就是执行服务续约(Renew)操作,避免自己的注册信息被Eureka服务器剔除。续约的处理逻辑和与服务注册逻辑基本一致:首先更新自身状态,然后

同步到其他Eureka服务器节点。

对于Eureka服务器来说如果在默认的时间内(90秒),也就是连续3次没有收到客户端的心跳,则会将该服务实例从所维护的服务注册表中剔除,以禁止流向该实例的流量。不过,如果当Eureka服务器处于自我保护模式,则不会清除该服务实例信息。我们可以通过eureka.instance.lease-expiration-duration-in-seconds来指定这个时间。

eureka.instance.lease-renewal-interval-in-seconds=30

eureka.instance.lease-expiration-duration-in-seconds=90

注意,如果该值设置得太大,即使服务实例已经不存在,也可能会有流量路由到该服务实例,造成服务调用失败。而如果设置太小,很可能因为网络问题导致服务实例误被Eureka服务器从服务注册表中剔除。因此,Eureka官方建议开发者不要修改这两个配置。

引用:《spring cloud 微服务架构开发实践》



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