我的部署扩展到多个 pod。要求是每当应用程序启动时,我都希望执行一段代码。但我只想要一个 pod 来执行这段代码。如何实现?现在我有办法 - 我在我的数据库中设置了一个标志并让我的 pod 读取该标志,它首先读取并锁定该标志将必须处理该任务。我的方法有什么缺点吗?有没有更好的方法来做到这一点?
1 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
我相信这是正确的做法。所有 pod 都需要有一种方法来了解是否其他人正在处理任务,并且通过 DB 进行处理是最佳选择。唯一的缺点是如果 pod 拾取它时无法更新标志状态怎么办。在那种情况下会发生什么?
我能想到的另一个选择可能是将消息发布到消息队列(在您的 pod、云平台之外维护的队列?)。这个想法是每当一个 pod 活跃时,他们将检查队列并处理它。它类似于您拥有的数据库方法。
- 1 回答
- 0 关注
- 89 浏览
添加回答
举报
0/150
提交
取消
