【问题标题】:multi-master over multi-region Aurora - possible?多区域 Aurora 上的多主机 - 可能吗?
【发布时间】:2020-11-23 10:43:02
【问题描述】:

我对许多 AWS 服务相对有经验 - 但我在 Aurora/RDS 方面确实存在很大差距

我正在尝试创建多区域多主(写入副本)设置

目的是为用户提供低延迟(如果每个读写副本都在用户的区域中)并提供弹性(如果区域中断,用户可以将他们的请求路由到另一个区域(延迟会更高,但减少服务总比没有服务好))

我正在尝试了解 AWS Aurora,并且我创建了一个玩具集群来学习。看来我可以创建一个由多个区域提供服务的集群(Aurora 会自动在区域之间复制数据)。我还读到可以进行多主机设置(在我的玩具集群中,它只有一个写入分区,我不知道如何在另一个区域创建另一个写入分区,这让我质疑是否有可能吗?)

这是我的想法的图表:

https://imgur.com/DzoSpHL

提前谢谢你!

【问题讨论】:

    标签: amazon-web-services amazon-aurora aws-regions


    【解决方案1】:

    目的是为用户提供低延迟(如果每个读写副本都在用户的区域中)

    我不知道如何在另一个区域创建另一个写入分区,这让我怀疑这是否可能?

    由于多主 Aurora 限制,这是不可能的(至少目前不是)。

    • 多主集群中的所有数据库实例必须位于同一 AWS 区域。

    以及其他诸如

    • 一个多主集群中最多可以有两个数据库实例
    • 您无法从多主集群启用跨区域副本。

    您可以阅读更多here


    您可以在您的场景中做的最好的事情是创建单个主服务器并将只读副本放置到那些额外的区域中(可能需要一些缓存)。

    【讨论】:

    • 所以我不得不研究另一种解决方案......我猜每个区域都有一个单独的集群,然后使用 lambda/DMS 在集群之间手动复制(并解决冲突)唯一一次将是冲突是用户更改区域的地方(他们自己物理移动或区域下降) - 无论哪种方式都不应该有很多冲突我可以在这里遵循任何常见的模式吗?其他人肯定已经解决了这个问题吗?
    • 我不确定这种规模的速度是否对基于 SQL 的数据库是正确选择至关重要。其他人通常通过变成更容易分片和扩展的 NoSQL DB 来解决这个问题。问题是您需要能够执行最终一致的写入(由于跨区域距离),并且 SQL 数据库并非设计为这样使用。例如,在 DynamoDB 中,您可以拥有具有多个跨区域主写入者的全局表,这些写入者可以处理最终一致的写入。
    【解决方案2】:

    如前所述,Aurora 是不可能的。

    但是 DynamoDB 支持多活动多区域:

    https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2023-01-29
      • 2011-05-27
      相关资源
      最近更新 更多