【问题标题】:Does Amazon Aurora create a new replica if an existing one gets promoted to the primary?如果将现有副本提升为主副本,Amazon Aurora 是否会创建新副本?
【发布时间】:2016-12-15 19:19:55
【问题描述】:

如果主 Aurora 数据库实例因某种原因而死亡,并且现有副本被提升为新的主副本,是否会创建一个新的副本实例以使我最终获得相同数量的只读副本?

如果是这样,平均需要多长时间才能创建一个新副本?

【问题讨论】:

    标签: amazon-web-services amazon-rds amazon-aurora


    【解决方案1】:

    有两种类型的只读副本:

    1. 在您部署多可用区 RDS 实例时由 AWS 制作的备份副本(也称为从属)。那是同步只读副本,但你不能使用它。
    2. 您创建的只读副本。这些是异步副本,您可以使用它们来卸载一些工作。

    备份副本会自动升级为主副本,通常不到一分钟。是的,AWS 将为现在是主服务器的 RDS 实例创建新的从服务器。这可能需要几分钟到几个小时,具体取决于您的工作负载和数据库大小。

    您创建的只读副本将刚刚切换到新的主副本。

    【讨论】:

    • 感谢您的回答! AWS 创建的从属设备的数量是如何设置的?如果我在单个 AZ 中,它们都不会被创建吗?
    • 如果您在创建 RDS 实例时选择多可用区部署,AWS 将在另一个可用区中创建一个从属服务器(您无法选择哪一个 :))。如果您选择单可用区部署(不推荐用于生产用途),AWS 将不会创建任何从属服务器。您仍然可以手动创建异步只读副本。
    • 对于 Aurora 和其他 RDS 一样吗?抱歉,问题太多了。
    • 没有。例如,适用于 MariaDB、MySQL 和 PostgreSQL 的 RDS 支持只读副本。但是用于 MSSQL 和 Oracle 的 RDS 没有。官方FAQ强调了不同RDBMS之间的主要区别:aws.amazon.com/rds/faqs/#Multi-AZ_Deployments
    • @SergeyKovalev,您需要更加熟悉 Aurora。 “那是同步只读副本,但你不能使用它。” 这对其他 RDS 平台是正确的,但对于 Aurora 是不正确的。 所有 Aurora 副本都是可用且同步的毫秒内。 “这可能需要几分钟到几个小时,具体取决于您的工作负载和数据库大小。” 这对于 Aurora 也是不正确的,因为副本和主服务器都使用相同的数据存储。
    【解决方案2】:

    AWS Aurora 是 AWS 的数据库,其架构专为云计算技术而设计。其中一个区别是数据存储在类似于 S3 的存储架构中,在一个集群卷中,它是一个单一的,利用固态磁盘 (SSD) 驱动器并由单个区域中多个可用区的数据副本组成.这有一些优点,例如持久性,以及分布在整个区域中的事实,而不仅仅是一个 AZ,有助于保持副本和性能之间的一致性。

    如果您有读取副本并且您的 Master 失败,其中一个将成为 Master 而不会停机。

    如果您没有只读副本,则会创建一个新的 Master 实例,并且该过程非常快。由于数据是跨区域集群化的,而不是在服务器的磁盘上,因此处理速度很快,但存在停机时间。

    正如 AWS 所说:

    为了提高可用性,您可以使用 Aurora 副本作为故障转移 目标。也就是说,如果主实例发生故障,则 Aurora 副本 升级为主实例,期间仅短暂中断 对主实例发出的读取和写入请求失败 一个例外。如果您的 Aurora 数据库集群不包含任何 Aurora 副本,然后在故障期间重新创建主实例 事件。但是,推广 Aurora 副本比推广 Aurora 副本要快得多 重新创建主实例。对于高可用场景,我们 建议您为同一数据库创建一个或多个 Aurora 副本 实例类作为主实例,在不同的Availability Aurora 数据库集群的区域。有关极光的更多信息 副本作为故障转移目标,请参阅 Aurora 数据库的容错 集群。

    您可以阅读更多内容:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Replication.html"

    【讨论】:

    • Aurora 数据肯定存储在 S3 中。不过,我很好奇你是从哪里得到这个想法的。
    • @Michael-sqlbot 你是绝对正确的。我已经更正了我的回复。
    • @filipebarretto 我认为我对如何设置新主节点(通过提升或新创建)的理解还可以,但我更好奇是否在提升的情况下,被提升的副本总是被新的副本实例替换。例如,我有 1 个主实例和 1 个副本,我的主实例因任何原因中断并被删除——我的 1 个副本被提升为新的主实例;我是否还会从 AWS 收到一个新的副本实例?
    猜你喜欢
    • 1970-01-01
    • 2018-06-08
    • 2021-06-20
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2012-07-20
    • 2018-09-20
    相关资源
    最近更新 更多