AWS SQS 是否跨区域复制消息?

Does AWS SQS replicate messages across regions?

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

用例:

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

喜欢X从区域X收到一条消息,并且在该信息到达区域Y以更新队列之前,另一个工作人员从复制区域Y获取排队并读取相同的消息。

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

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

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

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

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

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

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

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