Q: 在读《分布式一致性算法》第18页中,看到一句话:日志中的term也会被用于日志比较,新term的日志总比旧term的日志新。
term代表任期,每个节点在进行选举时会+1。
- 假设Raft中有3个节点,其中一个节点失联,其它2个节点正常工作。
- 那么失联的节点收不到Leader发来的心跳,便会更变角色为Candidate,然后不断进行选举,term不断增加。
- 而此时,另外两个正常工作的节点term不会增加。
- 那么失联节点的term将比正常的2个节点的要新,但因为没有正常工作所以日志比正常的2个节点要旧。
那么,是这句话有问题呢,还是我理解的不正确?
答:
书中这句话是正确的,我说的1-3也是正确的。
在4中,失联的节点term确实要大于其它节点,但当重新接入网络时,会同步日志到最新。
网友评论