0

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

谢谢

4

1 回答 1

3

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

  • 至少将复制因子设置为 2。副本越多,您可以应对的故障节点就越多。但是,您拥有的副本越多,您的性能就越差,因为更多的节点会复制工作。
  • 选择适当的一致性级别。一致性级别 (CL) 确定读取或写入操作需要涉及多少节点。CL.ALL 表示使用所有副本,因此您不能容忍任何故障。CL.ONE 意味着只使用一个节点。CL.QUORUM 表示大多数副本 (RF/2+1)
  • 您可以从任何节点读取和写入数据,而不仅仅是包含该数据的节点。如果你使用像 Hector 这样的客户端库,你应该告诉它所有节点,它会避免那些宕机的节点,以及可用节点之间的负载平衡。
于 2013-04-03T10:03:44.030 回答