0

前几天我遇到了这个有趣的数据库,并在其官方网站上阅读了一些文档,我对 TiKV 中的 Raft Group 有一些疑问(here),

假设我们有一个大约有 100 个节点的集群,并且复制因子是 3,这是否意味着我们最终会得到很多微小的 Raft “气泡”,每个气泡只包含 3 个成员,它们进行领导者选举和“气泡”内的日志复制。

或者,我们只有一个包含 100 个节点的胖 Raft “buble”?

请帮忙解释一下,谢谢!

4

2 回答 2

0

在这种情况下,这意味着您有 33 个分片(“气泡”),每个分片 3 个节点。

3 的复制因子在分布式系统中很常见。根据我的经验,数据库使用 3 的复制因子(在 3 个不同的位置)作为持久性和延迟之间的最佳点;6(在 3 个位置),当他们严重倾向于耐用性时;和 9 个(在 3 个位置),当他们永远不想丢失数据时。9 节点数据库非常稳定(基于 paxos/raft),我只看到它们用作 3 节点和 6 节点数据库的配置,它们可以使用更高性能的协议(尽管 raft 也非常高效)。

于 2019-06-20T14:12:55.917 回答
0

很多微小的 Raft “气泡”,每个气泡只包含 3 个成员,

上下文中的小 Raft 气泡是 TiKV 中的一个 Raft 组,由 3 个副本组成(默认情况下)。TiKV 中的数据自动分片到 Region 中,每个 Region 对应一个 Raft 组。为了支持大数据量,实现了Multi-Raft。因此,您可以将 Multi-raft 视为均匀分布在节点上的微小 Raft“气泡”。

在这里查看 TiKV 中 Raft 的图像

我们只有一个包含 100 个节点的胖 Raft “buble”?

不,Raft 组不包含节点,它们包含在节点中。

更多详情请参见:什么是 TiKV 中的 Multi-raft

于 2019-08-16T03:12:53.003 回答