Datastax Cassandra - 跨亚马逊区域的 Spanning Cluster 节点
Datastax Cassandra - Spanning Cluster node across amazon region
我计划在 Amazon 托管区域启动三个 EC2 实例。例如,区域 A、区域 B 和区域 C。
根据以上方案,每个region作为Cluster(或Datacenter),各有一个节点。(有误请指正)
使用这个基础架构,我可以达到以下配置吗?
复制因子:2
写入和读取 Level:QUORUM。
我做这些的基本目的是实现"If two region are went down, I can be survive with remaining one region"。
请帮助我提供意见。
注意:我是 cassandra 的新手,因此无论您提供什么输入都对我有用。
谢谢
如果您的复制因子为 2 并使用 Quorum 的 CL,您将不会容忍失败,即如果一个节点出现故障,您只会收到 1 个确认 - 这不是大多数响应。
如果您跨多个区域部署,正如您提到的,每个区域都是集群中的一个 DC。每个单独的 DC 都是您所有数据的完整副本,即它将保存您的密钥空间的所有数据。如果你read/write在每个区域内的 LOCAL_* 一致性(例如LOCAL_ONE、LOCAL_QUORUM)水平,那么你可以容忍其他区域的损失。
每个 DC/Region 中的副本数量以及您在该 DC 中用于 read/write 的一致性级别将决定您可以容忍多少故障。如果您使用的是 QUORUM - 这是一个跨 DC 的一致性级别。它将需要来自所有 DC 集群中所有副本的大部分确认。如果您丢失 2 个区域,那么您不太可能获得法定人数的响应。
此外,值得记住的是,Cassandra 可以了解它在区域中部署的 AZ,并可以尽最大努力确保将数据的副本放置在多个 AZ 中。这会让你更能容忍失败。
如果这是我,我不需要有很强的跨 DC 一致性级别(比如 QUORUM)。我会在每个区域有 4 个节点,部署在每个 AZ 中,然后每个区域的复制因子为 3。然后我会 reading/writing 在 LOCAL_QUORUM 或 LOCAL_ONE (最好)。如果你使用 LOCAL_ONE 比你可以在每个 DC 中拥有更少的副本,例如 LOCAL_ONE 的复制因子为 2 意味着你可以容忍丢失 1 个副本。
但是,这会比您最初建议的要贵,但(对我而言)如果我想在多个区域并容忍 2 的损失,那将是我需要的最低设置。您可以选择如果想真正节省成本,每个区域3个节点。
我计划在 Amazon 托管区域启动三个 EC2 实例。例如,区域 A、区域 B 和区域 C。
根据以上方案,每个region作为Cluster(或Datacenter),各有一个节点。(有误请指正)
使用这个基础架构,我可以达到以下配置吗?
复制因子:2
写入和读取 Level:QUORUM。
我做这些的基本目的是实现"If two region are went down, I can be survive with remaining one region"。
请帮助我提供意见。
注意:我是 cassandra 的新手,因此无论您提供什么输入都对我有用。
谢谢
如果您的复制因子为 2 并使用 Quorum 的 CL,您将不会容忍失败,即如果一个节点出现故障,您只会收到 1 个确认 - 这不是大多数响应。
如果您跨多个区域部署,正如您提到的,每个区域都是集群中的一个 DC。每个单独的 DC 都是您所有数据的完整副本,即它将保存您的密钥空间的所有数据。如果你read/write在每个区域内的 LOCAL_* 一致性(例如LOCAL_ONE、LOCAL_QUORUM)水平,那么你可以容忍其他区域的损失。
每个 DC/Region 中的副本数量以及您在该 DC 中用于 read/write 的一致性级别将决定您可以容忍多少故障。如果您使用的是 QUORUM - 这是一个跨 DC 的一致性级别。它将需要来自所有 DC 集群中所有副本的大部分确认。如果您丢失 2 个区域,那么您不太可能获得法定人数的响应。
此外,值得记住的是,Cassandra 可以了解它在区域中部署的 AZ,并可以尽最大努力确保将数据的副本放置在多个 AZ 中。这会让你更能容忍失败。
如果这是我,我不需要有很强的跨 DC 一致性级别(比如 QUORUM)。我会在每个区域有 4 个节点,部署在每个 AZ 中,然后每个区域的复制因子为 3。然后我会 reading/writing 在 LOCAL_QUORUM 或 LOCAL_ONE (最好)。如果你使用 LOCAL_ONE 比你可以在每个 DC 中拥有更少的副本,例如 LOCAL_ONE 的复制因子为 2 意味着你可以容忍丢失 1 个副本。
但是,这会比您最初建议的要贵,但(对我而言)如果我想在多个区域并容忍 2 的损失,那将是我需要的最低设置。您可以选择如果想真正节省成本,每个区域3个节点。