【问题标题】:Does AWS SQS replicate messages across regions?AWS SQS 是否跨区域复制消息?
【发布时间】:2021-05-20 19:03:13
【问题描述】:

由于SQS是分布式队列,所以它是在同一区域还是不同区域复制消息?看AWS docs的架构,显示消息被复制,但是是在同一个区域还是在不同区域复制?

用例:

我正在区域X 中设置队列,但它可能会在世界另一端的区域中访问。因此,如果有两个工作人员在区域X 中运行一个,一个在区域Y 中运行,是否都从同一区域X 队列中获取数据,或者区域X 和区域Y 从附近区域获取数据给他们。

就像X 收到来自区域X 的消息,并且在此信息到达区域Y 以更新队列之前,另一个工作人员从复制的区域Y 队列中获取并读取相同的消息。

P.S :- 我知道 SQS 至少有一次语义。但我想知道上述用例中的语义。

【问题讨论】:

    标签: amazon-web-services amazon-sqs distributed-computing


    【解决方案1】:

    作为 AWS 服务的标准做法,数据位于您创建服务的区域内。

    也有例外,但这些情况需要您作为用户执行允许的操作,例如复制 AMI 或启用 S3 复制。

    如果队列在多个区域被消费,它将始终访问 SQS 队列的区域端点,而不是当前区域的端点。

    由于 SQS 是一种排队服务,如果您有跨区域分布的工作人员,则该项目可能会从队列中移除并在单个区域中处理(尽管确切的定义是它至少交付一次)。

    如果您试图让消息在多个区域中使用,最好考虑一种基于扇出的方法,其中每个区域的工作人员将从自己的 SQS 队列中使用,而不是共享一个。

    有关更多信息,请查看https://aws.amazon.com/getting-started/hands-on/send-fanout-event-notifications/ 文档。

    【讨论】:

      【解决方案2】:

      SQS 是一项区域服务,在单个区域内具有高可用性。没有跨地域复制能力。您绝对可以从不同区域访问队列,只需使用正确的目标区域初始化 sqs 客户端即可。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-24
        • 1970-01-01
        • 2018-03-31
        • 1970-01-01
        • 2019-09-30
        • 2015-12-08
        • 2022-01-25
        • 2019-06-12
        相关资源
        最近更新 更多