当第一次服务注册到eureka的时候,eureka就确定这个服务是存活的,当你把这个服务关闭后,你再看注册中心列表发现这个服务还在,这时候调用服务的时候就会报错,那这是为什么呢?
原因就是其实在服务和注册中心之间一直会每隔一段时间发送心跳包,当注册中心突然收不到服务发的心跳包的时候,在90秒内(默认)没有重连的话就会剔除掉,但是万一只是服务与注册中心之间网络不通畅呢?这个服务并没有宕机呢?如果就这么剔除掉的话肯定是不对的,所以就有了自我保护机制,当突然收不到心跳包的时候,注册中心就以为是网络不通畅从而进入自我保护机制,就不会剔除列表中的服务了.
在开发过程中一般是关闭了自我保护机制的,因为开发过程中注册中心一般是不关闭的,如果你修改了服务的代码然后重启这个服务的话,代码得不到及时的更新.还是旧的代码.
关闭自我保护机制,在注册中心加下面配置

发布服务端加上如下配置就可以了

相关文章:
-
2021-12-25
-
2021-12-10
-
2022-12-23
猜你喜欢
-
2022-12-23
-
2022-12-23
-
2021-12-15
-
2021-09-08
-
2021-10-01
-
2021-09-03
-
2022-12-23
相关资源
-
下载
2021-11-03
-
下载
2023-01-30
-
下载
2022-12-07
-
下载
2023-01-23