我正在将 Kubernetes 上的 Spring 应用程序从单个 pod(docker 映像)迁移到多个 pod,以进行负载处理。但我面临一个问题,因为我的应用程序中有一个 cron 调度程序方法,该方法每天在特定时间运行。如果我部署多个 Pod,它们都会同时运行,因此多个条目会保存到我的数据库中,但我只需要一个 Pod 来执行该功能。
我想过生成 java uuid 并将其保存在数据库中,因为该函数开始在每个 pod 上执行。然后在同一个函数中,设置一个睡眠计时器(比如说 5 秒),并比较每个 pod 中数据库中的 uuid。最新更新数据库中值的 pod 将匹配该值并执行前面的方法。
这是一个好方法吗?如果没有,请提供解决此问题的建议。