繁体   English   中英

Dynamo DB的原子操作

[英]Atomic operations for Dynamo DB

我有两个用例:

  1. 我想向s3发送一条消息,并将它的s3链接位置存储在dynamodb中。
  2. 我要向sqs / sns发布消息,并将详细信息存储在dynamodb中。

在以上两种情况下,我都必须编写两个步骤来破坏该过程的原子性。 是否可以在一个步骤中完成上述任何操作?

谢谢,
阿努吉

这将需要在多个(在本例中为2个)系统之间进行分布式事务。 您可以通过编写自己的“事务”并进行处理来实现类似目的。 但是没有开箱即用的解决方案。

请注意,使用某些AWS服务,您将无法“回滚”所做的更改。 最好的例子是SQS和SNS。 因此,对于这种情况,最好先写入DynamoDB,而不是检查它是否在那里(如果您还不相信API响应)(但是现在您必须确保DynamoDB具有最终的一致性),然后再尝试将消息发送到SQS / SNS,如果失败,则从DynamoDB中删除数据。 另外,您将无法验证消息是否在SQS中(在API响应旁边)。

如果您没有任何特殊原因要进行此类交易,那么我会信任AWS基础设施,因为您正在发送小消息(链接,sss消息)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM