SpringCloud-优雅停机方案

文章内索引
[显示]

SpringCloud-优雅停机方案

当系统中服务需要下线时,需要等待未处理完成的请求处理完。可以依赖actuator,接收shutdown请求,之后根据不同容器处理优雅停机方案。

监听shutdown

首先引入Actuator

增加配置

不同容器优雅停机的处理

tomcat

只处理的tomcat容器的线程池,当请求到shutdown时,关闭容器的线城池,也就是说只有controller内的线程会执行完毕,如果controller内的线程又另启动了线程或者线程池无法控制, 会报出停止异常。

Undertow

 

 

 

Jetty

默认处理完所有请求之后关闭,无需特殊处理。

 

请求shutdown接口

http://localhost:8002/shutdown 请求接口,触发优雅停机,会先通知注册中心服务下线,之后等待程序运行完毕再停止应用。

Shutdown时 EurekaAutoServiceRegistration异常

EurekaAutoServiceRegistration bean已经被销毁,然后它收到了与feignclient关联的应用程序上下文的contextcloseent。BeanFactory尝试再次创建该bean并触发该异常。

 

 


©版权声明:本文为【翰林小院】(huhanlin.com)原创文章,转载时请注明出处!

发表评论

电子邮件地址不会被公开。