中间件RxJavaJava

Eureka的自我保护机制

2021-10-24  本文已影响0人  迦叶_金色的人生_荣耀而又辉煌

上一篇 <<<Eureca作为注册中心配置实例
下一篇 >>>Consule作为注册中心配置实例


原理:

a、默认情况下,EurekaClient会定时向EurekaServer端发送心跳,如果EurekaServer在一定时间内没有收到EurekaClient发送的心跳,便会把该实例从注册服务列表中剔除(默认是90秒)。
b、但是在短时间内丢失大量的实例心跳,这时候EurekaServer会开启自我保护机制,Eureka不会踢出该服务。

产生原因

为了防止EurekaClient正常运行,但是与EurekaServer网络不通的情况下,EurekaServer不会对EurekaClient服务进行剔除。

何时使用

本地环境建议禁止自我保护,生产环境建议开启自我保护。

如何配置

服务端
 server:
    # 测试时关闭自我保护机制,保证不可用服务及时踢出
    enable-self-preservation: false
    ##剔除失效服务间隔
    eviction-interval-timer-in-ms: 2000

客户端:
# 心跳检测检测与续约时间
# 测试时将值设置设置小些,保证服务关闭后注册中心能及时踢出服务
  instance:
###Eureka客户端向服务端发送心跳的时间间隔,单位为秒(客户端告诉服务端自己会按照该规则)  
    lease-renewal-interval-in-seconds: 1
####Eureka服务端在收到最后一次心跳之后等待的时间上限,单位为秒,超过则剔除(客户端告诉服务端按照此规则等待自己)
    lease-expiration-duration-in-seconds: 2

推荐阅读:
<<<服务注册、服务发现和服务治理
<<<服务治理的方式和原理
<<<Nacos的服务手动注册与发现
<<<Nacos整合到SpringCloud中
<<<Eureca作为注册中心配置实例
<<<Consule作为注册中心配置实例
<<<Zookeeper作为注册中心配置实例
<<<@EnableDiscoveryClient与@EnableEurekaClient区别
<<<Nacos单机环境安装
<<<Nacos集群环境安装

上一篇下一篇

猜你喜欢

热点阅读