关闭Eureka的服务自我保护

我们讲解了Eureka当中的自我保护,我们看如何关闭自我保护,这个自我保护是谁来完成的,由我们Eureka Server来完成的,

所以我们需要在Eureka Server的配置文件当中,添加两个配置,这两个配置是什么意思呢,是自我保护的一个配置,这个key是

必须这么写的,然后这个key对应的是一个布尔类型值

eureka.server.enableSelfPreservation=false

true表示什么呢,表示开启自我保护,默认的就是开启自我保护,false为关闭自我保护,就是Eureka对注册的服务关闭时,需要将

value改成false,第二个就是清理间隔,清理间隔是什么意思呢,就是从服务列表当中,删除时间的一个设置,单位是毫秒

eureka.server.eviction.interval-timer-in-ms=60000

默认的是60*1000,也就是说一分钟,那么我们刚才也看到了,这里我也说了,90秒后,如果没有心跳包的话,可实际上他没有删除,

从我们的管理页面的列表当中,把这个服务删掉,没有删掉的原因咱们也说了,其实这个服务是自我保护状态的呢,还是存在的,

那我们先是要去掉自我保护,然后同时让他在服务列表当中,把这个服务去掉,因为你现在已经不是一个自我保护的状态了,这个服务

在收到心跳包以后,Eureka Server肯定会对这个服务做删除的,清理间隔时间是多少,是我们设置的一分钟,我们现在把这个配置文件

拿过来

#关闭自我保护:true为开启自我保护,false为关闭自我保护
eureka.server.enableSelfPreservation=false
#清理间隔(单位:毫秒,默认是60*1000)
eureka.server.eviction.interval-timer-in-ms=60000

添加到eureka-ha,eureka注册中心的集群版,打开他的配置文件,加到这里,这是一个,然后我们需要对项目做重新的打包处理,再部署

到我们的linux当中,然后我们重新打包,这边打包的时候呢,我们再看一下,我们是不是=得先把服务停掉,然后把原来的jar包删掉,

我们的启动脚本不用动,因为我们的项目无论怎么打包,我们的名称都是一样的,我们没有修改名称,我们看一下管理页面,现在是关闭的,

我们再来启动我们的服务,eureka正在启动,我们稍等一下,现在已经启动好了,我们看上面是不是多了一句话

THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF 

NETWORK/OTHER PROBLEMS.the self preservation mode is turned off.this may not protect instance expiry 

in case of network/other problems.

很明显和我们刚才看到的是有区别的,他说这个服务的自动保护模式已经取消了,现在在我们的Eureka服务的注册中心当中,

已经取消了对服务的自我保护,那我们接下来再看,在我们的代码当中,现在在吧我们的Provider和Consumer再去启动,把这个服务

再去启动,然后在过来启动Consumer,然后我们刷新,这个时候我们可以看到,现在这两个服务是不是都已经加进来了,说明这两个服务

在注册中心注册成功了,然后注意看,现在由于你这两个服务在注册中心当中呢,不再是自我保护的,因为我们已经关闭了自我保护模式,

然后现在我去关闭这个服务,注意我去关闭这两个服务,然后刷新,我们要等,因为我们在这里配的间隔,清理间隔,是一分钟,那么也就

意味着,我们现在去掉了服务的自我保护,那么也就意味着Eureka注册中心,将不会保留这个服务了,然后到达清理时间以后,他就会将

服务从管理界面当中把服务删除掉,然后我们提到的负载均衡,他在做服务处理的时候,也会将这个服务剔除,所以我们之前没有剔除服务的

原因就是,他还在,在的原因是他启动自我保护,这个大家应该能够听懂,我们刷新,一分钟还没到,经过漫长的等待,现在只删除了一个,

别着急,因为我们这个是后启动的,因为服务启动有一个服务启动的速度的问题,Consumer已经关了,这个一分钟之后就会关掉,Consumer

已经关掉了,所以说我们想做自我关闭呢,是通过在配置文件当中添加这两个配置,就可以关闭他的自我保护,然后 关闭所有保护之后,

之间间隔以后,它会自动的将这个服务从服务列表当中,删除掉,这样我们就去掉了自我保护的选项

server.port=8761
eureka.instance.hostname=eureka-server

#spring.application.name=eureka
#eureka.server.evictionIntervalTimerInMs=60000
eureka.client.serviceUrl.defaultZone=http://admin:1234@localhost:8761/eureka
#eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false


#eureka.server.enableSelfPreservation=true

security.basic.enabled=true
security.user.name=admin
security.user.password=1234

eureka.datacenter=cloud
eureka.environment=product

#eureka.server.enable-self-preservation=false

eureka.server.enableSelfPreservation=false
eureka.server.eviction.interval-timer-in-ms=60000

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值