jiangde

spring cloud 优雅停机

大部分部署项目如果要停掉项目一般都是用kill -9 来杀进程

但是由于Eureka采用心跳的机制来上下线服务,会导致服务消费者调用已经kill的服务提供者然后出错。

可以采用以下方式来解决:

核心是先调用方法主动通知Eureka注册中心服务下线,然后再停掉服务。

1.向Eureka注册中心发送delete请求

 /eureka/apps/{application.name}/{instanceId}

服务器执行命令如下 curl -u winfo:winfo  -v   -w %{http_code}  -X DELETE  http://ip:port/eureka/apps/{application.name}/instanceId/

这样就可以想执行上面的命令,然后再用kil -9 杀掉本地服务了

2.kill -15 优雅停机

Spring Cloud默认的EurekaClientAutoConfiguration这个自动配置类已经为我们做好了相应的工作。

在程序收到kill信号时,JVM会调用 shutdown hook, 在此hook中就有取消注册的逻辑。

 

分类:

技术点:

相关文章:

  • 2021-04-06
  • 2021-07-26
  • 2021-09-14
  • 2021-11-22
  • 2021-11-15
  • 2022-01-18
  • 2021-04-26
猜你喜欢
  • 2021-08-14
  • 2021-09-17
  • 2021-10-25
  • 2020-10-14
  • 2019-03-28
  • 2020-06-08
  • 2019-11-04
相关资源
相似解决方案