Man*_*tra 6 java spring quartz-scheduler spring-boot kubernetes
我正在将 Kubernetes 上的 Spring 应用程序从单个 pod(docker 映像)迁移到多个 pod,以进行负载处理。但我面临一个问题,因为我的应用程序中有一个 cron 调度程序方法,该方法每天在特定时间运行。如果我部署多个 Pod,它们都会同时运行,因此多个条目会保存到我的数据库中,但我只需要一个 Pod 来执行该功能。
我想过生成 java uuid 并将其保存在数据库中,因为该函数开始在每个 pod 上执行。然后在同一个函数中,设置一个睡眠计时器(比如说 5 秒),并比较每个 pod 中数据库中的 uuid。最新更新数据库中值的 pod 将匹配该值并执行前面的方法。
这是一个好方法吗?如果没有,请提供解决此问题的建议。
此外,您可以将工作负载转移到一个独立的进程,这将很有帮助且更干净,请查看https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/这会给您一个想法。
| 归档时间: |
|
| 查看次数: |
7006 次 |
| 最近记录: |