2016-12-01 54 views

回答

1

,你可能需要考虑一些事情包括:

  1. 将调用是异步的?
  2. 如果数量为concurrent Lambda already reached the limit,会发生什么情况,调用会成功吗?

我们使用了SNS方法,并且没有问题。只是一个意见,这是一个比直接调用更好的选择,除非有太多的开销。

0

如果添加另一层间接寻址,您仍然必须处理消息到达速度比您可以处理它们更快的问题,或者碰到Lambda限制。

从LAMBDA文档:

异步调用 - 如果你的lambda表达式是异步调用,并节流,AWS LAMBDA自动重试长达六个小时的节流事件,有重试之间的延迟。异步事件在用于调用Lambda函数之前排队。

您可能有一个过程,将不容忍6小时的延迟 - 即。你宁愿做一个快速提前发送的消息,这个消息发送速度太快,无法为流程提供背压,而不是在答案相关后得到正确的响应。

要回答的真正问题有很多与您的代码有关。如果您临时遇到资源限制,您是否对最终的正确答案感到满意,还是您对失败的早期预警感到高兴?直接从您的代码触发事件会让您承担队列管理的所有责任;将消息发送到具有自己的重试和队列逻辑的系统将迫使您在可能处于最大压力时学习该系统的怪癖和管理工具。

相关问题