为了账号安全,请及时绑定邮箱和手机立即绑定

在启动期间只有 1 个 pod 处理任务

在启动期间只有 1 个 pod 处理任务

Go
holdtom 2022-12-13 16:03:03
我的部署扩展到多个 pod。要求是每当应用程序启动时,我都希望执行一段代码。但我只想要一个 pod 来执行这段代码。如何实现?现在我有办法 - 我在我的数据库中设置了一个标志并让我的 pod 读取该标志,它首先读取并锁定该标志将必须处理该任务。我的方法有什么缺点吗?有没有更好的方法来做到这一点?
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

我相信这是正确的做法。所有 pod 都需要有一种方法来了解是否其他人正在处理任务,并且通过 DB 进行处理是最佳选择。唯一的缺点是如果 pod 拾取它时无法更新标志状态怎么办。在那种情况下会发生什么?

我能想到的另一个选择可能是将消息发布到消息队列(在您的 pod、云平台之外维护的队列?)。这个想法是每当一个 pod 活跃时,他们将检查队列并处理它。它类似于您拥有的数据库方法。


查看完整回答
反对 回复 2022-12-13
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号