【发布时间】:2015-02-27 22:42:43
【问题描述】:
我有一个 5 节点集群和复制因子为 3 的键空间。操作的性质是写比读重要得多,但读操作的频率大约是写操作的 10 倍。为了在提高整体性能的同时实现一致性,我选择将写入的一致性级别设置为 ALL,将读取的一致性级别设置为 ONE。但这会导致即使一个节点关闭,操作也会失败。
如果检测到一个节点关闭,或者如果存在查询执行异常,是否有一种方法可以同时将 (Write,Read) 的一致性级别从 (ALL,ONE) 更改为 (QUORUM, QUORUM) ;另外,这样做的方式是没有任何操作通过临时阶段,在该阶段它看到临时 (QUORUM, ONE) 设置。
我们还计划将容量扩大到两倍,即 3 个数据中心,每个数据中心 4 个节点。是否可以定义自定义一致性级别,例如(任何一个数据中心中的 ALL 级别和其他数据中心中的 ONE 级别)。我认为读取的 (EACH_ONE) 级别加上上面的写入级别将确保一致性,但即使节点出现故障,集群也能保持可用。
【问题讨论】:
标签: cassandra high-availability datastax consistency