我正在测试SpringBoot2.3 (server.shutdown=graceful 和Tomcat服务器)中使用Kubernetes terminationGracePeriodSeconds字段的新特性。当优雅的关机阶段开始时,新的HTTP请求将按预期被拒绝,此时应该详细说明当前的请求,直到可配置超时(spring.lifecycle.timeout-per-shutdown-phase)。奇怪的行为是Spring引导执行器的活性结果,因为在这个场景中,活性端点是不可访问的。
因此,库贝利特无法知道,在关机期间,微型服务是否仍然存在,还是因为其他原因而陷入困境。由于K8s活性探针不依赖于terminationGracePeriodSeconds字段,terminationGracePeriodSeconds将根据其K8s活性配置重新启动,而Spring微服务由于野蛮重启而无法执行优雅的关机。
我是不是遗漏了什么?我如何处理这种情况?
发布于 2020-12-04 15:38:21
同时,我采用了另一种解决方案,我正在使用RMI协议通过JMX调用spring引导的活性探测。在这种情况下,活性给出了一个“向上”的反应在优雅的关闭。为此:启用JMX,将属性spring.jmx.enabled设置为true,并使用JMX客户端调用JMX指示符。
https://stackoverflow.com/questions/65023157
复制相似问题