如何在 AWS 的 SNS、SQS 或 Kinesis 之间做出选择,以便对我的 lambda 函数的调用进行排队?



我现在正在对我的后端进行压力测试,似乎当我在短时间内做很多调用时,我在lambda中达到了线程限制,并得到以下错误:

"errorMessage":"unable to create new native thread","errorType":"java.lang.OutOfMemoryError

目前我的建筑是这样的:

(API Gateway) -> (Lambda) -> (DynamoDB)

我认为避免上述问题的最好方法是实现排队。我在网上看到有很多不同的方法可以做到这一点,即通过SNS, SQS和Kinesis。

A)最适合我当前的架构,需要最少的集成?

B)并且能够解决我的线程问题?

C)为什么?

谢谢

SNS不是队列。SQS根本没有与Lambda集成。在这种情况下,kineesis可能是最佳选择。

最新更新