在此用例中是否需要Lambda的SQS?

问题描述 投票:1回答:1

我正在尝试建立一个流程,允许用户输入数据并将其存储在RDS中。我的问题是我需要从USER-> SQS-> Lambda-> RDS转到还是最好直接从USER-> Lambda-> RDS完全跳过队列。后者会存在可伸缩性问题吗?

我确实喜欢SQS可以重试很多次以保证数据,但是有单独的lambda重试的类似方法吗?重要的是及时存储和完成所有数据。我正在努力查看这两种方案之间的权衡。

[如果有人对情况有任何意见,那就太好了。

amazon-web-services aws-lambda architecture amazon-sqs
1个回答
1
投票

后者会不会存在可伸缩性问题?

取决于多个指标,包括流量,峰值,数据库大小,rpm等。>

在lambda之前放置SQS使您可以根据需要在t时间内管理数据库查询的数量。这是一个“队列”,您正在消耗该队列。在某些业务情况下,它可能无用(银行交易等),但在某些情况下(分析计算),可能会有所帮助。您可以设置batch size并插入batch(一次10条记录),从而减少查询数量,而不必在每次调用lambda时进行一次插入。

也可以定义dead letter queue来推送有问题的数据(无法将其发送到数据库)。这将是另一个队列,您以后需要检查以识别有问题的输入。可以找到该文档here

© www.soinside.com 2019 - 2024. All rights reserved.