gpt4 book ai didi

amazon-web-services - Amazon DynamoDB 原子写入

转载 作者:行者123 更新时间:2023-12-04 02:15:09 26 4
gpt4 key购买 nike

我有一个 Lambda 工作函数列表(比如 1000 个),每个函数同时运行并完成其工作。为了能够计算出所有 worker 的最终结果,我提出了这个想法。

在开始作业和生成 Lambda 工作函数之前,我在 DynamoDB 中保存了一条记录,例如两个属性:

  • total_number_of_jobs
  • jobs_completed(初始设置为 0)

在每个 Lambda 工作函数完成时,它将去并将属性 jobs_completed 递增 1。然后读取记录并检查 total_number_of_jobs 是否等于 jobs_completed,如果是,则将记录放入 SQS。

我的问题是:

  1. 这是个好主意吗?
  2. 更新是否一致且原子化?是否存在竞争条件?
  3. 还有比这更好的解决方案吗?

我会在这样的 UpdateItem API 调用中更新计数器 jobs_completed:

SET jobs_completed = jobs_completed + :incr_by 其中 incr_by 等于 1

最佳答案

只要您使用 DynamoDB 原子计数器(如示例所示),并且检查 UpdateItem 调用的返回值而不是运行单独的查询,那么您建议的解决方案应该可以正常工作。

关于amazon-web-services - Amazon DynamoDB 原子写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34662834/

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