在Raft集群中,每个日志条目都可以被认为具有日志索引(此日志发生日志的顺序)和日志条件(条目发生的“术语”;每次选举都会增加日期)。
例如,
这里,方块表示日志条目。方块中的数字表示日志中每个条目的术语。方块的位置(以及最顶部的数字)表示日志的每个条目的索引。
在Raft日志中日志索引和日志条件 无限制地增长吗?
如果不是,你如何“重置”这些变量?
如果是,那么实现(例如etcd或ZooKeeper)是否支持这些不受限制的增长,或者它们是否使用固定大小的整数类型并假设您永远不会溢出这些变量?
答案 0 :(得分:3)
他们确实无限制地成长。 long
类型足以涵盖日志和术语很长一段时间。像几十万年一样,取决于你的吞吐量。
这是我在我的系统中使用的;而且我认为,当有人必须处理它时,我会死亡或退休。