当我在网上做研究时,似乎人们也在这个堆栈中使用SQS,SNS会将信息放在SQS上,然后SQS会调用Lambda。
我想我想理解的是在这方面对SQS的需求。这增加了什么价值?换句话说,直接从SNS调用我的Lambda会失去什么?
在SNS和Lambda之间有一个SQS的主要优点是再处理。假设Lambda由于某种原因无法处理某个事件(例如超时或内存占用不足),您可以增加超时(最多5分钟)或内存(最多1.5GB)并重新启动轮询,您可以重新处理较早的事件。
这在SNS to Lambda的情况下是不可能的,其中如果Lambda失败,则事件丢失。即使您配置了DLQ,您仍然必须为单独读取和处理消息做准备
因此,如果您的事件非常重要,并且您不想错过它们,那么就选择sns-sqs-lambda