我们应该从代码中调用aws lambda函数吗?

时间:2016-12-01 12:26:06

标签: amazon-web-services aws-lambda amazon-sns

我们应该从代码中调用AWS lambda函数吗? 这主要是AWS好/坏做法问题。这样做是好还是我们应该根据SNS创建SNS通知并触发lambda?

2 个答案:

答案 0 :(得分:1)

您可能需要考虑的一些事项:

  1. 调用是否是异步的?
  2. 如果调用成功concurrent Lambda already reached the limit,会发生什么?
  3. 我们使用了SNS方法并且没有遇到任何问题。只是一个观点,除了有太多的开销之外,它比直接调用更好。

答案 1 :(得分:0)

如果你添加另一层间接,你仍然需要处理消息到达的速度比处理它们的速度快,或者碰到Lambda限制。

来自Lambda文档:

  

异步调用 - 如果您的Lambda函数被异步调用并受到限制,AWS Lambda会自动重试受限制的事件长达六个小时,并且重试之间会有延迟。异步事件在用于调用Lambda函数之前会排队。

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

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