本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon 中使用驱动程序了解重试政策 QLDB
重要
终止支持通知:现有客户可以在2025年7月31日终止支持QLDB之前使用亚马逊。有关更多详细信息,请参阅将亚马逊QLDB账本迁移到亚马逊 Aurora Postgr SQL
Amazon QLDB 驱动程序使用重试策略通过透明地重试失败的交易来处理暂时性异常。这些异常(例如CapacityExceededException
和RateExceededException
)通常会在一段时间后自行纠正。如果在适当延迟之后重试因异常而失败的事务,则很可能会成功。这有助于提高使用的应用程序的稳定性QLDB。
可重试错误类型
当且仅当该事务的操作期间出现以下任何异常时,驱动程序才会自动重试此事务:
-
CapacityExceededException— 当请求超出账本的处理能力时返回。
-
InvalidSessionException— 当会话不再有效或会话不存在时返回。
-
LimitExceededException— 如果超过资源限制(例如活动会话数),则返回。
-
OccConflictException— 当由于乐观并发控制 (OCC) 的验证阶段失败而导致交易无法写入日志时返回。
-
RateExceededException— 当请求速率超过允许的吞吐量时返回。
默认重试策略
重试策略由重试条件与退避策略组成。重试条件定义何时应重试事务,而退避策略定义在重试事务之前的等待时间。
创建驱动程序实例时,默认重试策略指定最多重试四次,并使用指数退避策略。指数退避策略使用最小延迟 10 毫秒,最大延迟 5000 毫秒,抖动相等。如果无法在重试策略内成功提交此事务,我们建议您改时尝试该事务。
指数回退的原理是对于连续错误响应,重试等待间隔越来越长。有关更多信息,请参阅 AWS 博客文章指数退缩和抖动。