目前,我正在从我们的后端汇集AWS SQS,并在收到有效负载后执行业务逻辑。
我想将其转移到AWS Lambda并通过SQS / SNS开始自动化业务逻辑。
由于我无法订阅AWS SQS事件,使用Lambda(node.js)实现SQS池的最佳实践是什么?
答案 0 :(得分:1)
由于您无法从SQS队列消息中自动触发Lambda函数,因此SQS与Lambda无法正常工作。
我宁愿删除SQS / SNS逻辑,也可以使用基于DynamoDB Streams的解决方案来覆盖排队,归档和扩展。 Lambda本机触发任务:您的生产者将消息放入DynamoDB表中,而对于使用Streams的任何新条目触发Lambda(它是AWS native mechanism)
当然也可以考虑基于Kinesis的解决方案。
答案 1 :(得分:0)
通过使用内置的Lambda SQS事件源,甚至可以简化整个轮询过程。
Lambda将自动横向扩展以消耗消息 在我的队列中。 Lambda将尝试尽快消耗队列,并且 通过最大限度地提高并发范围内的并发效率 每个服务。随着队列流量的波动,Lambda服务将 根据数量增加和减少轮询操作 机上消息。
请参阅AWS Blog