网络断开时,Cassandra节点单独工作

时间:2015-02-17 15:02:10

标签: architecture cassandra bigdata

我必须面对我的cassandra集群设计的复杂要求,我不知道它是否可行。 我的客户希望拥有一个冗余的cassandra集群,但面临的一个问题是,有时节点会因某些网络问题而独立。 cassandra crazy architecture

拥有这张照片更容易解释。想象一下,网络出现故障......我仍然希望将数据从数据emisor 2保存到cassandra节点2,就像独立服务器一样(它们在同一台计算机上)。有一些选项只能在cassandra节点2中保存某些特定的表(这些表由数据emisor2创建)。

这种疯狂架构的原因是因为所有机器都处于工业环境中,所有机器都可以分开工作。

1 个答案:

答案 0 :(得分:1)

您可以使用NetworkTopologyStrategy构建多数据中心群集,其中每个数据发射器都将数据写入本地数据中心节点。必须强制您的发射器通过驱动程序配置将数据仅写入特定数据中心。一致性级别需要为LOCAL_ONELOCAL_QUORUM,换句话说,它们只应寻求本地DC的响应,并让复制在剩余的DC上分配数据。这将确保如果本地DC /发射器未连接到群集的其余部分,则写入仍然会通过,并且当网络连接恢复时,所有数据都将复制到其余DC,最有可能通过手动修理工作。

在退化的情况下,这些数据中心中的每一个都可以由单个节点组成。当然,对于单节点数据中心,每个数据中心的复制因子都是1,这总是很危险,如果单个节点死机,可能会导致数据丢失。