是。
每次您的应用程序发送的请求超出您的能力时,您都会从Dynamo中获得ProvisionedThroughputExceededException消息。但是,您的SDK会为您处理此问题,然后重试。Dynamo的默认重试时间开始于50ms,默认重试次数为10,默认情况下,补偿是指数级的。
这意味着您可以在以下位置重试:
- 50毫秒
- 100毫秒
- 200毫秒
- 400毫秒
- 800毫秒
- 1.6秒
- 3.2秒
- 6.4秒
- 12.8秒
- 25.6秒
如果在第10次重试后您的请求仍然没有成功,则SDK会将ProvisionedThroughputExceededException传递回您的应用程序,您可以按照自己的意愿进行处理。
您可以通过增加吞吐量来处理它,但是另一种选择是在创建Dynamo连接时更改默认重试时间。例如
new AWS.DynamoDB({maxRetries: 13, retryDelayOptions: {base: 200}});这意味着您重试13次,初始延迟为200ms。这将使您的请求总共完成819.2s,而不是25.6s。



