本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
多区域复制在 Amazon Keyspaces 中的工作原理
本节概述了 Amazon Keyspaces 多区域复制的工作原理。有关定价的更多信息,请参阅 Amazon Keyspaces(Apache Cassandra 兼容)定价
主题
多区域复制在 Amazon Keyspaces 中的工作原理
Amazon Keyspaces 多区域复制实施了一种数据弹性架构,可将您的数据分布在独立且地理位置分散的环境中 AWS 区域。 它使用主动-主动复制,从而提供本地低延迟,每个区域都能够隔离执行读取和写入。
创建 Amazon Keyspaces 多区域键空间时,您最多可以再选择五个区域来将数据复制到这些区域。您在多区域键空间中创建的每个表都包含多个副本表(每个区域一个),Amazon Keyspaces 将这些副本表视为一个单元。
每个副本都具有相同的表名和相同的主键架构。当应用程序将数据写入一个区域中的本地表时,数据将使用 LOCAL_QUORUM
一致性级别持久写入。Amazon Keyspaces 会自动将数据异步复制到其他复制区域。跨区域的复制滞后通常小于一秒,并且不会影响应用程序的性能或吞吐量。
数据写入后,您可以从另一个具有 LOCAL_ONE/LOCAL_QUORUM
一致性级别的复制区域的多区域表中读取数据。有关支持的配置和功能的更多信息,请参阅 Amazon Keyspaces 多区域复制使用说明。
多区域复制冲突解决方案
Amazon Keyspaces 多区域复制是完全托管的,这意味着您不必执行复制任务,例如定期运行修复操作来清理数据同步问题。Amazon Keyspaces 监控不同表之间的数据一致性 AWS 区域 通过检测和修复冲突,并自动同步副本。
Amazon Keyspaces 使用以最后写入者为准数据协调方法。通过这种冲突解决机制,多区域键空间中的所有区域都将同意最新的更新,并收敛到它们都具有相同数据的状态。协调过程对应用程序性能没有影响。为了支持冲突解决,多区域表的客户端时间戳会自动启用并且无法禁用。有关更多信息,请参阅 Amazon Keyspaces 中的客户端时间戳。
多区域复制灾难恢复
使用 Amazon Keyspaces 多区域复制,可以在每个区域中异步复制写入内容。在极少数情况下,如果单个区域性能下降或出现故障,多区域复制可以帮助您在对应用程序几乎没有影响的情况下从灾难中恢复。通常使用恢复时间目标 (RTO) 和恢复点目标 (RPO) 的值来衡量灾难恢复。
恢复时间目标:灾难后系统恢复工作状态所需的时间。RTO衡量您的工作负载可以容忍的停机时间,以时间为单位。对于使用多区域复制故障转移到未受影响区域的灾难恢复计划,RTO可能接近零。受RTO应用程序检测故障情况并将流量重定向到另一个区域的速度的限制。
恢复点目标:可能丢失的数据量(按时间衡量)。对于使用多区域复制故障转移到未受影响区域的灾难恢复计划,通常RPO为个位数秒。受RPO故障转移目标副本的复制延迟限制。
如果出现区域性故障或性能下降,您无需提升辅助区域或执行数据库失效转移过程,因为 Amazon Keyspaces 中的复制采用主动/主动模式。相反,您可以使用 Amazon Route 53 将您的应用程序路由到最近的运行状况良好的区域。要了解有关 Route 53 的更多信息,请参阅什么是 Amazon Route 53?。
如果是单曲 AWS 区域 变得隔离或降级,您的应用程序可以使用 Route 53 将流量重定向到不同的区域,从而对不同的副本表执行读取和写入。您还可以应用自定义业务逻辑来确定何时将请求重定向到其他区域。例如,这可让您的应用程序知道有多个可用的端点。
当该区域恢复联机状态时,Amazon Keyspaces 会继续将任何待处理的写入操作从该区域传播到其他区域中的副本表。它还会继续将写入从其他副本表传播到现在重新联机的区域。
多区域复制以及与 point-in-time 恢复的集成 () PITR
多区域表支持 P oint-in-time 恢复。要成功使用恢复多区域表PITR,必须满足以下条件。
-
源表和目标表必须配置为多区域表。
-
源表键空间和目标表键空间的复制区域必须相同。
您可以从源表可用的任何区域运行还原语句。Amazon Keyspaces 会自动还原每个区域中的目标表。有关的更多信息PITR,请参阅Amazon Keyspaces 中 point-in-time 恢复的工作原理。
多区域复制和集成 AWS 服务
您可以监视不同表之间的复制性能 AWS 区域 通过使用 Amazon CloudWatch 指标。以下指标提供对多区域键空间的持续监控。
-
ReplicationLatency
:该指标可衡量将updates
、inserts
或deletes
从一个副本表复制到多区域键空间中的另一个副本表所花费的时间。
有关如何监控 CloudWatch 指标的更多信息,请参阅使用亚马逊监控亚马逊密钥空间 CloudWatch。