gpt4 book ai didi

algorithm - 如何解决 K8s pod 之间的竞争条件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:37:09 25 4
gpt4 key购买 nike

这可能不需要对 K8s pod 做任何事情,但我怀疑是一些更算法化的东西。但这是我们面临的完整场景。

假设我们有 2 个 pod -> 正在运行 java 应用程序。

我们有 1 个 Dynamo 表 -> 有 id(hash_key)(不是唯一的),created_date(sort_key),id_2

程序的预期行为是检查给定的 id(最新)是否存在并获取其 id_2。如果不存在这样的 id,则生成一个新的 id_2

现在是竞争条件 -->两个 pod 并行开始执行逻辑,它们都开始查询 Dynamo,巧合的是具有相同的 id。现在他们找不到任何这样的 id ..因为它们都没有被插入到 Dynamo 中,因此他们创建了完全独立的新 id_2..并且两个 pod 最终都插入了新的id_2 用于相同的 id.. 不应该是这种情况。

我们如何解决这个竞争条件。

任何线索将不胜感激。谢谢

最佳答案

我认为您应该重新考虑您的表架构。

通过以 id_2 作为散列的表,没有排序键和 id/created_data 上的全局二级索引

当然,只有当 id_2 在表中是唯一的,而不是每个 id

都是唯一的时,这才有效

关于algorithm - 如何解决 K8s pod 之间的竞争条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55933319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com