我有一个四节点,两个数据中心 cassandra 1.1.1 集群。我的密钥空间是每个数据中心的 RF 2,为我提供每个节点上的完整数据副本。该集群用于供应商产品,它使用 QUORUM 的 r/w 一致性。使用此配置,我只能处理一个节点的丢失......我如何调整它以处理数据中心的丢失?
问问题
1704 次
1 回答
4
除非您的数据中心位于相同的物理位置,否则这种配置的网络开销将非常糟糕。原因是仲裁一致性在比较副本时不会关注 DC。因此,在确认读取或写入之前,您将经常需要跨越数据中心线。切换到本地仲裁将解决延迟问题,但如果一个节点出现故障,将有效地导致数据中心停机。但是,只要第二个 DC 中的两个节点都启动(并且您的应用程序可以正确处理此问题),您仍然会启动并运行。
话虽如此,一般的经验法则是每个数据中心最少有 3 个节点。如果您将一个节点添加到每个数据中心并切换到本地仲裁 R/W,您可能会在每个 DC 中丢失一个节点,但该 DC 仍可运行,或者您可能会丢失整个 DC,而另一个仍可运行。
于 2012-11-20T15:01:31.343 回答