【发布时间】:2018-06-15 05:01:32
【问题描述】:
如果我有 2 个数据中心,dc1 和 dc2,其中 dc1 包含 2 个节点,dc2 包含 1 个节点;如果我希望每个节点都有 2 个副本,我将如何在键空间中定义复制因子。例如我会设置 dc1:2, dc2: 1 还是 dc1: 3, dc2:3
【问题讨论】:
-
一个节点不能有多个副本。如果您想要一个 DC 中的两个副本,那么您需要在该 DC 中至少两个节点。
-
我能否将数据中心的复制因子设置为高于其中的节点数,即假设我有 2 个数据中心。 dc1 有 3 个节点,dc2 有 2 个节点,所以我可以将复制因子设置为 dc1:4、dc2:1 吗?
-
你可以,但这无济于事。另外,在一致性级别 ALL 上完成的任何操作都会导致您的读/写失败。在原始问题的 1 个节点上的 2 个副本方案中,对于在 LOCAL_QUORUM 完成的任何操作,您的读/写操作都将失败。
-
对不起,如果我为愚蠢的问题而烦恼,但我想了解在读取查询的情况下,一致性是否意味着给定数量的副本节点可以访问/回复查询或确实这意味着给定数量的副本节点正在为查询提供“相同”的结果?我不明白您在上面所说的,在一致性级别 ALL 上完成的任何操作都会导致读/写失败。