代码改变世界

k8s项目中平滑启停

2024-03-13 17:27  Spiderman25  阅读(6)  评论(0)    收藏  举报

https://blog.csdn.net/qq_40267044/article/details/132231798
https://www.jianshu.com/p/239e35b24f25
https://blog.csdn.net/apl359/article/details/117458219
https://blog.csdn.net/agonie201218/article/details/130843654
https://blog.csdn.net/weixin_44524077/article/details/110232457
https://baijiahao.baidu.com/s?id=1756417347871873705

 启动:可以在K8s的探针中设置链接(请求127.0.0.1),保证健康

停止:可以在K8s的preStop中设置链接(请求127.0.0.1),链接内容是调用applicationContext的close方法,并且每个要清理的bean中添加容器的关闭事件,等当前的bean已经处理完成后才结束事件方法。所以可以添加一个全局的停止变量,所有的bean都会判断这个变量,如果为停止就会准备停止工作。

atuator中的接口是异步启一个线程去调用applicationContext的close,所以接口返回时容器还在工作中。这个我觉得不建议用。