首页 > 基础资料 博客日记
浅谈eureka的保护机制
2023-09-02 13:22:50基础资料围观243次
文章浅谈eureka的保护机制分享给大家,欢迎收藏Java资料网,专注分享技术知识
今天学习了spring cloud 中的注册中心——eureka,作为微服务的注册中心,eureka需要对服务的可用状态进行一个体现。直观的体现方式就是在eureka启动后的ui界面上可以看到服务的是否可用。
在某一个时刻下,如果后端某一个服务不可用了,eureka不会立即将其从ui界面上删除。而是等待一段时间后再删除,在默认情况下,这个时间是90s。在90s内,eureka会有一个心跳机制来判断服务是否健康。每相隔30s会发送一个心跳信号。如果超过3次,也就是90s未收到信号,则判定发送心跳信号的服务不可用了,这时候才会将服务删除。
但是,这里有一个问题。eureka接收心跳信号,信号也是通过网络传输的。假如,不是服务失效,而是网络状态不好。导致eureka服务器接收不到信号,那是否会因为网络的问题造成eureka误判了服务的可用情况,导致服务被误删了呢?
考虑到这种情况,eureka设置了阈值。当15分钟之内,若挂掉的服务超过了15%。(也就是eureka突然对项目服务中的15%失去了心跳信号)那eureka会判断,这些15%的服务挂掉的原因,不是由于服务真的挂掉了,而是网络不好,心跳信号传达不到。然后eureka不会删除这些服务。
例子:三年一班今天老师上课突然发现了15%的学生(服务)都没来上课(失效)。老师进行判断,这15%的学生有可能是堵车(网络拥堵)了,不是故意迟到的。因为平常不会突然大量的学生同时迟到。老师不对他们追究责任(不删除服务)。
文章来源:https://www.cnblogs.com/xjhblogs/p/17673589.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: