我们在两个区域有dynamodb全局表。该表包含一些信息,比如通过键单击用户,以及多一个列,这反过来就是一个数字值。要增加这个值,我们使用原子计数器dynamodb特性。
让我们考虑下一种情况。在同一时刻,我们从两个不同的区域为一个键发送两个增量更新。我的问题是:最终的结果是什么?我们是否已经保证,它最终会是+2?或者,它可以是+1或+2,这取决于复制环境?
据我所知,如果我们复制db日志,而不是原始行,那么我们最终保证有+2。但我在官方文件里找不到任何确认。
发布于 2020-12-09 02:51:43
如果ADD请求来自不同的区域,则可以是+1或+2。
在文档中,如果请求在复制时在不同的区域更新相同的项,则会导致冲突。
即使请求可以在没有冲突的情况下进行协调(即添加操作或在同一键上更新不同的路径),它也总是会引发冲突并覆盖到最后一个编写器。因此,前一个请求将被忽略。
因此,对于来自不同区域的2项请求,有3种可能的情况。
https://stackoverflow.com/questions/61368073
复制相似问题