具有一致哈希P2P设计的高可用性数据库

问题描述

我正在了解HA数据库

https://www.interviewbit.com/problems/highly-available-database/

根据上述内容,这是此系统中发生写/读操作的方式

写请求:

客户端可以通过put()请求联系环中的任何节点以写入数据, 该节点充当此请求的协调节点。协调节点然后转发 向映射节点的数据请求(散列),并等待它们的确认。 当它收到W(稍后解释)确认时,它将向客户端返回一条接受写入的消息。

读取请求:

要执行get()请求,客户端可以连接到环中成为协调节点的任何节点 为此请求。然后,协调节点向所有副本节点询问此数据并返回合并的 R回复时将数据发送给客户端。

读写一致性:

W和R分别称为写和读一致性数。概括地说,W是协调节点在成功写入之前应从其获取确认的最小节点数,R是协调节点应从其获取读取值以将其返回给客户端的最小节点数。

R&W共同构成系统的法定人数。为了使读取一致(返回最新写入),我们需要保持 W + R> P

根据功能要求,可以调整W和R,例如,要非常快地进行写入,我们可以保持 W = 1 R = P 。如果我们的系统读得很重,我们可以保持 R = 1 W = P 。如果读写均匀分布,我们可以将 R和W都保持为(P + 1)/ 2

一致哈希环上的所有分片/节点都可以充当映射,副本和协调节点吗?映射逻辑是否可以存在于环上的节点上?我们如何确定客户与哪个节点联系?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)