在 dynamodb 中,我有一个“投票”表,记录唯一的电子邮件,并且只有一个选项(十个可能的选项),在假设每秒投票超过 1000 次的情况下,我可以执行一个每隔 1000 次激活的 lambda 25 个新记录并累积在另一个表“选举”中收到的票数(选项),该表包含 10 个元素(选项)和一个作为累加器的值属性?问题是我如何进行写入并发控制以便不丢失选票。事务性写入会阻止每秒这么多投票吗?
桌子将按需提供。
谢谢!
尝试前请勿出于成本原因进行测试
DynamoDB 中的每个键都可以为您提供 1000 WCU。由于您将您的密钥称为唯一的电子邮件,因此我发现单个用户每秒投票次数极不可能超过 1000 次。
此外,如果强制 DynamoDB 节流,您不会丢失数据,它会给您一个例外,您可以决定继续重试这些项目或将它们添加到队列中以供稍后处理。