raft 算法 term 一直增长问题的探讨

2018-11-29 16:59:48 +08:00
 faker1

在 raft 算法中,term 会随着选举次数持续增长,int, float, 这些数据类型都有 Max, 一旦 term 到达该数据的极限,系统会不会挂。 有什麼辦法可以解决这个办法, 因为选举比较频繁,30s 就有一次选举。term 增长的很快。

我目前想到的办法:

  1. 参与选举的机器 间隔一段时间后集体重启,這個辦法可以讓 term 衝初始值重新開始。
  2. 在定义 term 数据类型时使用:big.Int 可以延缓到达极限时间

乱想

  1. 不能重启机器的时候有什么办法吗, 在代码中加入一些新的逻辑,(在每次同步 leader 的信息时候重置为 1,测试不行)但是不知到怎么入手
  2. 在 raft 算法中还可以使用什么东西可以替代 term 的作用,还没有找到
1556 次点击
所在节点    程序员
3 条回复
huangzhe8263
2018-11-29 17:08:07 +08:00
https://www.v2ex.com/t/485570

呐, 之前讨论的链接
innoink
2018-11-29 17:13:26 +08:00
uint64 的计数器可以用到天荒地老
owenliang
2018-11-29 17:17:40 +08:00
你真的能把 uint64 跑完吗。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/512789

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX