本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Keyspaces 的多区域复制(适用于 Apache Cassandra)
您可以使用 Amazon Keyspaces 多区域复制,通过自动、完全托管的主动-主动复制,在您选择的范围内复制数据。 AWS 区域 通过主动/主动复制,每个区域都能够独立执行读取和写入。您可以提高可用性和弹性,避免区域性性能下降,同时还能从全球应用程序的低延迟本地读写中获益。
通过多区域复制,Amazon Keyspaces 可以在区域之间异步复制数据,并且数据通常在一秒钟内跨区域传播。此外,通过多区域复制,您不再需要解决冲突和纠正数据差异问题,因此您可以专注于应用程序。
默认情况下, AWS 区域 为了持久性和高可用性,Amazon Keyspaces 会在同一个可用区内的三个可用区
主题
使用多区域复制的好处
多区域复制具有以下好处。
-
全局读取和写入的延迟不超过十毫秒 - 在 Amazon Keyspaces 中,复制采用主动-主动模式。您可以在任何规模下,以不超过十毫秒的延迟从距离客户最近的区域提供本地读取和写入服务。您可以将 Amazon Keyspaces 多区域表用于在世界任何地方都需要快速响应时间的全球应用程序。
-
改善业务连续性并防止单区域降级 — AWS 区域 通过多区域复制,您可以将应用程序重定向到多区域密钥空间中的其他区域,从而在单个区域中从降级中恢复。由于 Amazon Keyspaces 提供主动/主动复制,因此不会对您的读取和写入产生任何影响。
Amazon Keyspaces 会跟踪已在多区域键空间上执行但尚未传播到所有副本区域的任何写入。该区域恢复联机状态后,Amazon Keyspaces 会自动同步所有缺失的更改,这样您就可以在不影响应用程序的情况下进行恢复。
-
跨区域的高速复制 — 多区域复制使用基于存储的跨区域快速物理复制数据,复制延迟通常小于 1 秒。
Amazon Keyspaces 中的复制对您的数据库查询几乎没有影响,因为它不与您的应用程序共享计算资源。这意味着您可以在对应用程序不造成任何影响的情况下,应对高写入吞吐量使用案例或吞吐量突然激增或暴增的使用案例。
-
一致性和冲突解决 – 对任何区域中的数据所做的任何更改都将复制到多区域键空间中的其他区域。如果应用程序同时在不同区域更新了相同的数据,则会出现冲突。
为了帮助提供最终一致性,Amazon Keyspaces 在并发更新之间使用单元级时间戳和以最后写入者为准协调机制。冲突解决是完全托管的,并且在后台进行,不会对应用程序产生任何影响。
有关支持的配置和功能的更多信息,请参阅 Amazon Keyspaces 多区域复制使用说明。
容量模式和定价
对于多区域键空间,您可以使用按需容量模式或预置容量模式。有关更多信息,请参阅 在 Amazon Keyspaces 中配置读取/写入容量模式。
对于按需模式,每行写入最多 1 KB 的数据需要支付 1 个写入请求单元 (WRU) 的费用,方法与单区域表相同。但是,您需要为多区域密钥空间的每个区域的写入付费。例如,在包含两个区域的多区域密钥空间中写入一行 3 KB 的数据需要 6WRUs: 3 * 2 = 6。WRUs此外,包含静态数据和非静态数据的写入需要额外的写入操作。
对于预配置模式,每行写入最多 1 KB 的数据需要支付 1 个写入容量单位 (WCU) 的费用,这与单区域表相同。但是,您需要为多区域密钥空间的每个区域的写入付费。例如,在包含两个区域的多区域密钥空间中写入一行每秒 3 KB 的数据需要 6WCUs: 3 * 2 = 6。WCUs此外,包含静态数据和非静态数据的写入需要额外的写入操作。
有关定价的更多信息,请参阅 Amazon Keyspaces(Apache Cassandra 兼容)定价