【问题标题】:aws lambda - handling code when dynamodb capacity is exceededaws lambda - 超过 dynamodb 容量时的处理代码
【发布时间】:2016-09-04 14:25:59
【问题描述】:

我的 lambda 函数包含一些代码,其中包含对 dynamodb 的查询。执行查询后,lambda 将继续执行其余代码,这些代码基于该查询的结果。如果我超过了 dynamodb 的容量限制会怎样?我可以将查询推送到 SQS 并稍后处理它,但是我将无法继续执行 lambda。另一种解决方案是重试每个失败的查询,但如果 dynamodb 非常繁忙,我的 lambda 可能会超过 5 分钟的限制。似乎是双输的局面。你会怎么做?

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb aws-lambda amazon-sqs


    【解决方案1】:

    最容错的解决方案是将查询和结果处理解耦。

    1. 不是立即处理结果,而是将结果写入另一个 SQS 队列并发送 SNS 通知。

    2. 将处理移至第二个 Lambda 函数。这个新功能可以通过 SNS 通知触发。它可以读取结果队列并处理任何待处理的消息。

    3. 修改原始函数以将任何失败的查询排队以备后用。

    【讨论】:

      猜你喜欢
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      • 2016-09-24
      • 2019-07-02
      • 2021-04-01
      • 1970-01-01
      • 2021-05-27
      相关资源
      最近更新 更多