在AWS开发工具包中重试

时间:2020-06-12 14:00:00

标签: amazon-web-services aws-sdk retry-logic

doc表示使用aws sdk可为您提供开箱即用的重试功能。

然后此doc声明

// The maximum number of times that a request will be retried for failures.
// Defaults to -1, which defers the max retry setting to the service
// specific configuration.
MaxRetries *int

这告诉我重试逻辑配置发生在服务级别。

如果是这种情况,我希望各个服务记录其重试逻辑配置。不仅事实并非如此,一些服务(的动作)似乎暗示它们没有提供重试逻辑,而是讨论了如何在应用程序级别上实现。例如参见dynamodb

如果DynamoDB返回任何未处理的项目,则应重试该批处理 对这些项目进行操作。但是,我们强烈建议您使用 指数补偿算法。如果重试批处理操作 立即,基础读取或写入请求仍可能由于失败而失败 在各个桌子上节流如果您延迟批处理 使用指数补偿的操作, 批次更有可能成功。

sqs

接收请求尝试ID是用于重复数据删除的令牌 ReceiveMessage调用。

在导致连接问题的长期网络中断期间 在您的SDK和Amazon SQS之间,最好的做法是提供 接收请求尝试ID,并使用相同的接收请求重试 如果SDK操作失败,则尝试ID。

我的问题是我如何知道服务何时在处理重试逻辑以及何时必须在应用程序级别实现它?

0 个答案:

没有答案