1

TL;DR:在重新散列/重新平衡期间如何处理故障节点中存在的 KEYS 的 READ/WRITE 请求?

假设在数据库的一致性哈希设置中,数据库中的一个节点发生了故障。现在,只有该特定节点上的密钥将在哈希环中的其余节点之间重新哈希/重新平衡。

我的问题是,在重新散列/重新平衡期间如何处理失败节点中存在的 KEYS 读/写请求?

一个简单的答案可能是 READ/WRITE 请求在重新平衡期间由故障节点的副本处理。但是考虑以下情况:

假设,我的复制因子(N)= 3,WRITE quorum(W)= 3 和 READ QUORUM(R)= 3

现在,如果一个节点发生故障,那么在重新平衡期间,我的复制因子将变为 2,即故障节点上只有两个数据副本。

现在,如果 READ 请求到来,由于我的 READ quorum 设置为 3,我的数据库将无法用于该请求,因为它无法找到 READ 请求对应的 3 个副本。

然而,据我所知,一致散列有助于设计 ALWAYS-ON 系统。

这是否意味着在重新平衡/重新散列期间,如果我想要高可用性,我的 R/W quorum 很可能无法满足?

4

0 回答 0