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