©著作权归作者所有:来自51CTO博客作者澄风破浪的原创作品,请联系作者获取转载授权,否则将追究法律责任
Eureka心跳健康检查机制
运行心跳健康检查机制的目的是为了删除Eureka服务器注册表中不可访问的微服务。心跳是由Eureka客户端发送给Eureka服务器的,让服务器了解其状态心跳机制需要在微服务嵌入一个客户端,用来发送心跳,但是客户端本身必须确定其自身为健康状态Eureka服务器必须为客户端公开一些REST操作以让其发布心跳。自我保护机制
EurekaServer不会将EurekaClient服务及时剔除
保护模式主要用与一组EurekaClient客户端和EurekaServer之间存在网络分区场景下的保护。一旦进入保护模式,EurekaServer将会保护其注册表中的服务,不再删除服务注册表中的数据,也就是不会注销任何微服务什么是自我保护模式
默认情况下如果EurekaServer在一段时间内(默认90s)没有接受到某个微服务的心跳,那么就会判断这个微服务已经死亡,然后在服务注册表中注销该微服务。但是当网络分区发生故障(延时、卡顿、拥挤)时,微服务与EurekaServer无法正常通信,但微服务本身是健康的,那么就不应该注销这个微服务。此时Eureka将会开启自我保护模式来解决这个问题----当EurekaServer节点在短时间内丢失过多客户端时,就会开启自我保护模式,不再注销任何微服务EurekaServer服务端配置自我保护和剔除无心跳微服务等待时间:
EurekaClient客户端配置心跳发送间隔和剔除微服务心跳等待时间:
赞 收藏 评论 举报相关文章
