我有两个Cassandra数据中心,但所有的服务器都在同一栋楼里,与10 gbps
网络连接。
我不打算把服务器放在其他地方。
每个数据中心的RF为2。
我需要确保强一致性,所以我计划使用QUORUM。
问题:用LOCAL_QUORUM代替QUORUM对我有什么好处吗?
谢谢
使用LOCAL_QUORUM代替QUORUM对我有什么好处吗?
这里最重要的考虑是,对于RF == 2的2个dc,QUORUM
和LOCAL_QUORUM
等于不同的值(要接触的副本数量)。
LOCAL_QUORUM
== 2QUORUM
== 3
优势与LOCAL_QUORUM
我看到,会应用程序会等待更少的副本。在每个DC中有2个DC和2个副本,操作@LOCAL_QUORUM
将等待来自2个副本的响应。
QUORUM
操作将考虑整个集群中的所有4个副本,并等待来自3的响应。因此,LOCAL_QUORUM
可能会有一点性能优势(等待更少的副本响应)。
缺点是,在这种情况下使用LOCAL_QUORUM
将无法容忍节点关闭。因此,如果单个节点崩溃或变得无响应,那么所有操作将失败,直到该节点复活。
正如Aaron所提到的,在这个配置中,local_quorum没有容错性,所以我认为值得考虑为每个dc添加一个新节点。
通过这样做,您将保持local_quorum为2(而不是新的quorum为4),但如果每一侧的节点都出现故障,则可以容错并存活。