当kubernetes容器崩溃时,当前交易会发生什么

时间:2020-08-03 08:33:19

标签: spring-boot docker kubernetes

我有一个分布式调度程序。现在,我必须选择记录并进行处理。 就我而言,我将创建一个事务并处理记录。

现在假设在处理本身期间,Kubernetes容器会关闭。在那种情况下,它将释放锁定并回滚事务

1 个答案:

答案 0 :(得分:1)

应终止吊舱的时间:

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信号并回滚任何事务或将其持久化到外部以供稍后重试。