2

在此处输入图像描述

Raft 将时间划分为任意长度的项,如图 5 所示。项用连续的整数编号。每个任期都以选举开始,其中一个或多个候选人尝试成为第 5.2 节所述的领导者。If a candidate wins the election, then it serves as leader for the rest of the term. 在某些情况下,选举会导致分裂投票。在这种情况下,任期将在没有领导者的情况下结束;一个新的任期(新的选举)将很快开始。Raft 确保在给定的任期内最多有一个领导者。

术语在 Raft 中充当逻辑时钟 [14],它们允许服务器检测过时的信息,例如过时的领导者。Each server stores a current term number, which increases monotonically over time.

从这篇论文中,我们了解到任期以选举开始并单调递增。

我的问题是什么时候会增加任期?

  1. 超过物理时间会增加吗?例如每分钟或每小时。

  2. 它与逻辑时间有关吗?

  3. 只有在新选举发生时才会增加吗?

  4. 术语更改频率如何?

  5. 一个任期内会产生多少个日志条目?

4

1 回答 1

4

该术语逻辑时间戳,或者在分布式系统中更普遍地称为epoch。条款更改的频率完全取决于节点和网络条件。只有当成员开始新的选举时,才会增加任期。因此,该期限将增加,例如在领导者崩溃后,如果网络分区导致某些成员的选举计时器到期,如果网络中存在足够的延迟以使选举计时器到期,或者选举在没有获胜者的情况下结束。

于 2018-10-10T22:22:12.827 回答