关闭Eureka的服务自我保护

我们讲解了Eureka当中的自我保护,我们看如何关闭自我保护,这个自我保护是谁来完成的,由我们Eureka Server来完成的,所以我们需要在Eureka Server的配置文件当中,添加两个配置,这两个配置是什么意思呢,是自我保护的一个配置,这个key是必须这么写的,然后这个key对应的是一个布尔类型值eureka.server.enableSelfPreservation=falsetrue表示什么呢,表示开启自我保护,默认的就是开启自我保护,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=truesecurity.basic.enabled=true
security.user.name=admin
security.user.password=1234eureka.datacenter=cloud
eureka.environment=product#eureka.server.enable-self-preservation=falseeureka.server.enableSelfPreservation=false
eureka.server.eviction.interval-timer-in-ms=60000

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部