即使在任何节点故障时也可以从cassandra集群读取

时间:2013-04-03 09:47:50

标签: cassandra

我有一个带有4个节点的Cassandra集群,是否可以仅从可用节点读取数据,除了已关闭的节点,这可能吗?或者是否有任何可配置的属性来处理这种类型的场景。

由于

1 个答案:

答案 0 :(得分:3)

你可以通过复制来做到这一点,是的。您需要一些东西:

  • 设置复制因子至少为2.副本越多,您可以应对的节点失败的次数就越多。但是,由于更多节点复制了工作,因此您的性能越多,性能就越差。
  • 选择适当的一致性级别。一致性级别(CL)确定需要与读取或写入操作相关的节点数。 CL.ALL表示使用所有副本,因此您无法容忍任何失败。 CL.ONE表示只使用一个节点。 CL.QUORUM表示大多数复制品(RF / 2 + 1)
  • 您可以从任何节点读取和写入数据,而不仅仅是包含该数据的节点。如果您使用像Hector这样的客户端库,您应该告诉它所有节点,它将避免那些节点崩溃,以及可用节点之间的负载平衡。