Spring Cloud Eureka 自我保护机制

阅读数:141 评论数:0

跳转到新版页面

分类

python/Java

正文

Eureka Server在运行期间会去统计心跳失败比例在15分钟之内是否低于85%,如果低于85%,Eureka Server会将这些实例保护起来,让这些实例不会过期。因为当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,而微服务本身是正常运行的,此时是不应该移除这个微服务,所以引入自我保护机制。

但是如果服务提供者真的非正常下线了,此时服务消费者就会拿到一个无效的服务实例,此时会调用失败,对于这个问题需要服务消费端做一些容错误机制,如重试、断路器等。

一旦开启了保护机制,则服务注册中心维护的服务实例就不那么准确了,此时我们可以使用eureka.server.enable-self-preservation=false来关闭保护机制,这样可以确保注册中心不可用的实例被及时剔除(不推荐)。

自我保护模式被激活的条件是:在1分钟后,Renews (last min)<Renews threshold

这两个参数的意思是

(1)Renews last min

Eureka Server最后1分钟接收到客户实例续约的总数

(2)Renews threshold

Eureka Server 期望每分钟收到客户端实例续约的总数

Eureka的自我保护模式是有意义的,该模式被激活后,它不会从注册列表中剔除因长时间没收到心跳导制租期过期的服务,而是等待修复,直到心跳恢复正常之后,它会自动退出自我保护模式。这种模式旨在避免因网络分区故障导制服务不可用的问题。




相关推荐

ZuulProxyAutoConfiguration 首先我们看一下zuul的配置类ZuulProxyAutoConfiguration, 这个类有一项工作是初始化Zuul默认

Tomcat Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能有很大关系的。Tomcat默认的HTTP实现是采用阻塞式的Socket通信,每个请求都需要创

mvn依赖 &lt;dependency&gt; &lt;groupId

什么是jwt (json web token)jwt是一生中用来在网络上声明某种身份的令牌(TOKEN),它的特点是紧凑且自包含并且基于JSON,通过一些常用的算法对包含的主体

Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图表化界面。 修改service-hi 1、在pom工程文件引入相应的依赖</

简介 Spring cloud Sleuth主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持zipkin,你只需要在pom文件中引入相应的依赖即可。 1、

简介 在spring cloud中,有分布式配置中心组件spring cloud config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程git仓库中,在该组

springcloud中的region和zone 1、背景 用户量比较大或者用户地理位置分布范围很广的项目,一般都会有多个机房。这个时候如果上线springclo

一、CAP理论 英文全称Dynamic Naming and Configuration Service。在描述下面内容之前,先介绍一下CAP原则:一个分布式系统不可能同时满足C和A和P这3个条件。

一、JAVA项目中网络接口调用工具 1、HttpClient 它是Apache Jakarta Common下的子项目,用来提供高效、最新的、功能丰富的支持Http协议的客户端编程工具包。 HttpC