【发布时间】:2020-08-03 08:33:19
【问题描述】:
我有一个分布式调度程序。现在我必须选择记录并处理它们。 就我而言,我将创建一个事务并处理记录。
现在假设 Kubernetes 容器在处理过程中发生故障。在这种情况下,释放锁并回滚事务会发生什么
【问题讨论】:
-
你用的是什么调度器?
-
Spring 启动调度器
标签: spring-boot docker kubernetes
我有一个分布式调度程序。现在我必须选择记录并处理它们。 就我而言,我将创建一个事务并处理记录。
现在假设 Kubernetes 容器在处理过程中发生故障。在这种情况下,释放锁并回滚事务会发生什么
【问题讨论】:
标签: spring-boot docker kubernetes
何时应该终止一个 pod:
一个 SIGTERM 信号被发送到每个容器中的主进程 (PID 1),“宽限期”倒计时开始(默认为 30 秒 - 请参阅下文以更改它)。
收到 SIGTERM 后,每个容器都应开始正常关闭正在运行的应用程序并退出。
如果一个容器没有在宽限期内终止,则会发送一个 SIGKILL 信号,容器会被暴力终止。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: test
spec:
replicas: 1
template:
spec:
containers:
- name: test
image: ...
terminationGracePeriodSeconds: 60
因此,在您的 Spring Boot 应用程序中,您需要处理 SIGTERM 信号并回滚任何事务或将其持久化以供以后重试。
【讨论】: