Cassandra:LOCAL_QUORUM vs QUORUM,当所有 datacenter/servers 物理上都是本地人时,在同一个 10gbps 网络上
Cassandra : LOCAL_QUORUM vs QUORUM, when all datacenter/servers are physically locals, on the same 10gbps network
我有两个 Cassandra 数据中心,但所有服务器都在同一栋楼里,与 10 gbps
网络相连。
我不打算在其他位置安装服务器。
每个数据中心的 RF 为 2。
我需要保证强一致性,所以我打算使用QUORUM。
问题: 使用 LOCAL_QUORUM 而不是 QUORUM 对我有什么好处吗?
谢谢
Are there any advantages for me of using LOCAL_QUORUM instead of QUORUM?
这里最重要的考虑是,对于 2 个 RF == 2 的 DC,QUORUM
和 LOCAL_QUORUM
等同于不同的值(要联系的副本数)。
LOCAL_QUORUM
== 2
QUORUM
== 3
所以我看到 LOCAL_QUORUM
的 优势 是应用程序等待更少的副本。每个 DC 有 2 个 DC 和 2 个副本,操作@ LOCAL_QUORUM
将等待来自 2 个副本的响应。
QUORUM
操作会考虑集群中的所有 4 个副本,并等待来自 3 个副本的响应。因此 LOCAL_QUORUM
可能会有轻微的性能优势(等待更少的副本响应) .
缺点是,在这种情况下使用 LOCAL_QUORUM
将无法容忍节点停机。因此,如果单个节点崩溃或变得无响应,那么所有操作都将失败,直到该节点复活。
正如 Aaron 所提到的,在此配置中 local_quorum 没有容错能力,因此我认为值得考虑为每个 DC 添加一个新节点。
通过这样做,您将保持 local_quorum 为 2(相对于 4 的新法定人数),但会变得容错并在每一侧的节点出现故障时生存。
我有两个 Cassandra 数据中心,但所有服务器都在同一栋楼里,与 10 gbps
网络相连。
我不打算在其他位置安装服务器。
每个数据中心的 RF 为 2。
我需要保证强一致性,所以我打算使用QUORUM。
问题: 使用 LOCAL_QUORUM 而不是 QUORUM 对我有什么好处吗?
谢谢
Are there any advantages for me of using LOCAL_QUORUM instead of QUORUM?
这里最重要的考虑是,对于 2 个 RF == 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(相对于 4 的新法定人数),但会变得容错并在每一侧的节点出现故障时生存。