筏长选择算法中的TermId?

问题描述 投票:0回答:1

我正在尝试理解筏共识算法以尝试实现它,我还不了解的是领导者选举算法,当一个节点从状态跟随者传递到候选者时,termId会增加,但是我们如何确保已增加的实际termid是最新的,并且将来没有其他节点具有相同的termid吗?

algorithm distributed distributed-system raft
1个回答
0
投票

无法保证将来,另一个节点不会尝试重用已经使用的termId。

但是对Raft来说,这一切都很好。如果有一个对等方尝试使用低于当前termId的termId进行选举,则不会投票。

开始选举的该对等方将收到包含集群当前termId的RPC响应,并且需要更新其状态以匹配系统的当前状态,转向关注者并更改其termId。

[基本上,每次对等方接收到termId高于其“本地” termId的响应或请求时,该对等方都需要更新其本地状态并转向关注者。

© www.soinside.com 2019 - 2024. All rights reserved.