distributed - Raft集群中的日志索引和日志项变量是否可以无限增长?

标签 distributed biginteger integer-overflow raft

在 Raft 集群中,每个日志条目都可以被认为具有一个日志索引(该条目按照日志的顺序出现)和一个日志术语(该条目出现在哪个“术语”中;每次选举都会增加术语) )。

例如,

raft log example

这里,方 block 代表日志条目。方 block 中的数字代表日志中每个条目的术语。方 block 的位置(以及最顶部的数字)表示日志中每个条目的索引。

Raft日志中的日志索引日志项是否无限增长

如果不是,如何“重置”这些变量?

如果是,实现(例如 etcd 或 ZooKeeper)是否支持这些无限制增长,或者它们是否使用固定大小的整数类型并假设您永远不会溢出这些变量?

最佳答案

它们确实无限制地生长。 long 类型足以覆盖很长一段时间的日志和术语。就像几十万年一样,取决于您的吞吐量。

这是我在我的系统中使用的;我想当有人需要处理这个问题时我已经死了或者退休了。

关于distributed - Raft集群中的日志索引和日志项变量是否可以无限增长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26352887/

相关文章:

python - 分布式 Tensorflow 中的异步训练如何工作?

Java BigInteger 表示 unsigned long

java BigInteger 操作

c++ - 这里发生溢出了吗?

hadoop - Hadoop 可以分发任务和代码库吗?

.net - Azure 响应队列管理

c++ - 将临时值存储为某种数据类型时,算术运算的标准规则是什么?

c - intN_t 的溢出是否定义明确?

自动缩放服务器上的 PHP session

javascript - JavaScript 中的 2 ** 256 BigInteger