Eureka安全下线服务

Eureka上的服务是通过心跳检测注册到上面,如果stop或者直接kill掉服务的话,Eureka并不能实时的检测到服务下线,并且如果直接kill还可能杀掉正在处理业务的服务,所以我们要找到一个方法安全下线服务。

一:发送DELETE请求删除服务

http:// ip:port/eureka/v2/apps/appID/instanceID

这样能请求eureka删除实例,不过由于心跳机智,实例过一会就会注册上去

 

二:修改实例状态为OUT_OF_SERVICE

修改状态后,此实例会处理完当前正在处理的请求,之后就不再接受新的请求。

三:Spring Boot Actuato

  1.引入pom

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2.参数配置
#启用shutdown
endpoints.shutdown.enabled=true
#禁用密码验证(正式环境应该要有安全策略)
endpoints.shutdown.sensitive=false
3.请求停止服务(经过测试,服务会在处理完请求之后关闭,但是eureka上的实例并没有删除)

 参考资料:https://github.com/Netflix/eureka/wiki/Eureka-REST-operations

原文地址:https://www.cnblogs.com/chenxbo/p/9627610.html