Raft算法中新term的日志总比旧term的日志新?

2020-09-14  本文已影响0人  Dakini_Wind

Q: 在读《分布式一致性算法》第18页中,看到一句话:日志中的term也会被用于日志比较,新term的日志总比旧term的日志新。

term代表任期,每个节点在进行选举时会+1。

  1. 假设Raft中有3个节点,其中一个节点失联,其它2个节点正常工作。
  2. 那么失联的节点收不到Leader发来的心跳,便会更变角色为Candidate,然后不断进行选举,term不断增加。
  3. 而此时,另外两个正常工作的节点term不会增加。
  4. 那么失联节点的term将比正常的2个节点的要新,但因为没有正常工作所以日志比正常的2个节点要旧。

那么,是这句话有问题呢,还是我理解的不正确?


答:

书中这句话是正确的,我说的1-3也是正确的。
在4中,失联的节点term确实要大于其它节点,但当重新接入网络时,会同步日志到最新。

上一篇 下一篇

猜你喜欢

热点阅读