DynamoDB 需要多长时间才能停止限制?

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

假设我向 DDB 表发出大量写入请求,从而远远超出了其预置的写入容量,并且开始限制我。我最终停止发送请求。那么我需要等待多长时间才能保证 DDB 不会限制新的写入请求?

amazon-web-services amazon-dynamodb throttling
1个回答
2
投票

DynamoDB 按每秒进行限制。如果您的客户端没有启用重试,并且您停止写入,那么您将能够在下一秒内成功。

但是,当您重试时,这些仍然会消耗容量。因此,最终答案是可变的,具体取决于您的重试和退避策略。

如果使用默认配置,重试通常不会超过 1-2 分钟。

更详细地说,DynamoDB 中的容量是按每秒配置的。如果您配置 100 RCU,则每秒可以消耗 100 RCU。如果您在某一秒内超过 100 RCU,您就会受到限制。然而,下一秒仍有 100 RCU 可供您使用。

这是一个简化的示例,实际上DynamoDB是一个非常大的分布式系统,同步计算每个表的请求率会影响其性能。为此,我们引入了由 PID 控制器控制的令牌桶方面。如果您想深入了解其工作原理,那么我建议观看来自 Jaso 的 re:Invent talk 2018 的视频

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