【问题标题】:Fallback for DynamoDB with SQS使用 SQS 回退 DynamoDB
【发布时间】:2023-03-13 05:55:01
【问题描述】:

我们有一个同步 REST 端点,除了将项目保存到 DynamoDB 数据库之外,它还会执行其他处理,以供以后使用。

如果由于任何类型的异常导致数据库保存失败,则要求不出错。

我们如何处理整个区域中 dynamo db 出现故障的情况(罕见但可能)。发布到 SQS 并通过 ping 它有一个单独的进程消耗并保存到 DynamoDB 是正确的模式吗(ListTables 或 ping )。

我们应该退回到另一个区域还是发布到 SQS?是否值得使用 Resilience4j 断路器模式?

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb amazon-sqs fault-tolerance resiliency


    【解决方案1】:

    让 API 简单地将对 SQS 的请求排入队列是一种常见的模式。这有很多好处,例如允许更高的吞吐量、将生产者和消费者解耦以及更好的容错性。

    这将是一个很好的设计,但您的 REST API 将不再是同步的,调用者将不太知道操作是否已成功处理,因此您可能需要添加另一个端点来获取请求的状态。

    我对 resilence4j 断路器不是非常熟悉,但这可能不是必需的,因为如果这是您寻求的主要好处,Amazon SDK 已经内置了重试。

    【讨论】:

      猜你喜欢
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 1970-01-01
      相关资源
      最近更新 更多