[英]spring-boot 2 graceful shutdown web
有什么推荐的方法可以优雅地关闭 Kubernetes 中的 Spring:boot 2 应用程序。
我正在尝试正常关闭 Rest 应用程序和 SCS(kafka 消费者和生产者)应用程序
几周后我发现这篇文章在类似的背景下有些有用:
http://blog.marcosbarbero.com/graceful-shutdown-spring-boot-apps/
通过将SIGTERM发送到spring-boot服务来测试建议的示例
如果您使用的是最新版本的 spring-boot,即 2.3.5.RELEASE,那么您只需将以下属性添加到 application.properties 文件中即可。
server.shutdown=graceful spring.lifecycle.timeout-per-shutdown-phase=30s
在 Kubernetes 世界中,您可以使用 preStop 钩子。 但是,当您确实想要在 SIGTERM 启动之前暂停时使用它。
在容器终止之前立即调用此钩子。 没有参数传递给处理程序。 此事件处理程序是阻塞的,并且必须在删除容器的调用发送到 Docker 守护程序之前完成。 Docker 发送的 SIGTERM 通知也仍然发送。 终止行为的更完整描述可以在 Pod 的终止中找到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.