在 Raft 集群中,每个日志条目都可以被认为具有一个日志索引(该条目按照日志的顺序出现)和一个日志术语(该条目出现在哪个“术语”中;每次选举都会增加术语) )。
例如,
这里,方 block 代表日志条目。方 block 中的数字代表日志中每个条目的术语。方 block 的位置(以及最顶部的数字)表示日志中每个条目的索引。
Raft日志中的日志索引和日志项是否无限增长?
如果不是,如何“重置”这些变量?
如果是,实现(例如 etcd 或 ZooKeeper)是否支持这些无限制增长,或者它们是否使用固定大小的整数类型并假设您永远不会溢出这些变量?
最佳答案
它们确实无限制地生长。 long
类型足以覆盖很长一段时间的日志和术语。就像几十万年一样,取决于您的吞吐量。
这是我在我的系统中使用的;我想当有人需要处理这个问题时我已经死了或者退休了。
关于distributed - Raft集群中的日志索引和日志项变量是否可以无限增长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26352887/