Amazon dynamodb Amazon DynamoDB异步客户端http度量
我使用的是Amazon SDK(Java)DynamoDB异步客户端v2.10.14,具有自定义配置:Amazon dynamodb Amazon DynamoDB异步客户端http度量,amazon-dynamodb,metrics,Amazon Dynamodb,Metrics,我使用的是Amazon SDK(Java)DynamoDB异步客户端v2.10.14,具有自定义配置: DynamoDbAsyncClientBuilder = DynamoDbAsyncClient .builder() .region(region) .credentialsProvider(credentialsProvider) .httpClientBuilder(
DynamoDbAsyncClientBuilder = DynamoDbAsyncClient
.builder()
.region(region)
.credentialsProvider(credentialsProvider)
.httpClientBuilder(
NettyNioAsyncHttpClient.builder()
.readTimeout(props.readTimeout)
.writeTimeout(props.writeTimeout)
.connectionTimeout(props.connectionTimeout)
)
我经常遇到连接超时:
io.netty.channel.ConnectTimeoutException: connection timed out: dynamodb.region.amazonaws.com/1.2.3.4:443
我想这是由于我的设置,但我需要积极的超时。我曾经遇到过同样的问题,不管怎样,默认值(只是花了更长的时间)。我想知道为什么我会陷入这种境地。我的直觉是,这与连接池耗尽或池的其他问题有关
是否有任何指标可供我监控?您的应用程序似乎是一个“延迟感知DynamoDB客户端应用程序”。底层HTTP客户端行为需要针对其重试策略进行调整。幸运的是,AWS Java SDK提供了对HTTP客户端行为和重试策略的完全控制,本文档有助于解释如何优化底层HTTP客户端的AWS Java SDK HTTP请求设置和参数: 在本文档中,它提供了一个示例,说明如何优化在ClientConfiguration对象创建期间设置的五个HTTP客户端配置参数,并对每个参数进行了非常全面的讨论:
- 连接超时
- 客户执行超时
- 请求超时
- SocketTimeout
- DynamoDB默认重试策略,用于使用自定义 最大错误重试次数