AWS Java Lambda,从 DynamoDB(增强型 DynamoDB 客户端)获取项目时偶尔超时

问题描述 投票:0回答:1

我有一个 AWS Java Lambda 函数处理程序。它有两件事。

  • 步骤 1. 调用另一个 Lambda 函数,该函数在 DynamoDB 中创建一个新项目(带条件写入)(
    software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient
    用于数据库连接。)
  • 步骤 2. 通过 key 从 DynamoDB 获取项目

通常,步骤 2 只需几十毫秒即可从 DynamoDB 获取项目。但是,每隔几个月,步骤 2 可能会花费长达 10 秒或更长时间,从而导致 Lambda 函数超时失败。由于这种情况非常罕见,我无法重现此问题。

我希望重现该问题并防止其再次发生。

amazon-web-services aws-lambda amazon-dynamodb dynamodb-queries
1个回答
0
投票

您可以通过设置请求超时来简单地防止这种情况。如果请求通常在 10 毫秒内响应,那么客户端等待超过 10 秒是没有意义的,这是一个巨大的差异。

例如,将请求超时设置为 1 秒(非常宽松),以便任何可能被卡住的请求都将被终止,并且 SDK 重试将在 1.1 秒内返回该项目。

https://aws.amazon.com/blogs/database/tuning-aws-java-sdk-http-request-settings-for-latency-aware-amazon-dynamodb-applications/

© www.soinside.com 2019 - 2024. All rights reserved.