小编Man*_*tra的帖子

如果 Kubernetes 上存在多个 pod,则从单个 pod 运行 Spring 中的 Scheduled Cron 方法

我正在将 Kubernetes 上的 Spring 应用程序从单个 pod(docker 映像)迁移到多个 pod,以进行负载处理。但我面临一个问题,因为我的应用程序中有一个 cron 调度程序方法,该方法每天在特定时间运行。如果我部署多个 Pod,它们都会同时运行,因此多个条目会保存到我的数据库中,但我只需要一个 Pod 来执行该功能。

我想过生成 java uuid 并将其保存在数据库中,因为该函数开始在每个 pod 上执行。然后在同一个函数中,设置一个睡眠计时器(比如说 5 秒),并比较每个 pod 中数据库中的 uuid。最新更新数据库中值的 pod 将匹配该值并执行前面的方法。

这是一个好方法吗?如果没有,请提供解决此问题的建议。

java spring quartz-scheduler spring-boot kubernetes

6
推荐指数
1
解决办法
7006
查看次数

标签 统计

java ×1

kubernetes ×1

quartz-scheduler ×1

spring ×1

spring-boot ×1