AWS SQS FIFO或AWS DynamoDB用于处理大量消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS SQS FIFO或AWS DynamoDB用于处理大量消息相关的知识,希望对你有一定的参考价值。

我们有一个业务场景来处理大量的消息。关键因素是消息的顺序很重要。

如果我们考虑使用AWS SQS FIFO,它每秒只能处理300条消息。这不适用于我们,因为我们期望每秒超过300条消息,并且批处理也不可能,因为我们只能向SQS发送一条消息。 FIFO也可以存储20,000个膨胀消息。这对我们来说也很低。

第二个考虑因素是使用AWS DynamoDB并使用排序属性(如时间戳)来维护消息的顺序。

在我们的情况下使用DynamoDB是否合适,因为我们期待大量的数据?在性能和交易方面,SQS和DynamoDB之间是否存在重大差异?

答案

dynamodb和sqs都“无限”地扩展。正如您所指出的,SQS fifo有一些限制。

如果你可以让sqs为你工作,它可能会更便宜,但只要你有能力支付你需要的规模,dynamodb就会工作。无限制的扩展可能是昂贵的 - 使用dynamodb而不是sqs更是如此。

以上是关于AWS SQS FIFO或AWS DynamoDB用于处理大量消息的主要内容,如果未能解决你的问题,请参考以下文章

aws sqs fifo队列和标准队列之间的转换

如何将Amazon SQS与Dynamodb集成

使用 Python 在 AWS Elastic Beanstalk 上创建 DynamoDB 时遇到问题

AWS - 从EC2连接到SQS

计算AWS lambda调用并按api键分段数据

配置 Zipkin 以跟踪 AWS SQS 消息?