问一个raft中lastLogIndex的问题

当日志不断增长,虽然有snapshot技术,但是在选举投票判断中,还是需要知道具体的lastLogIndex(没有截断的日志长度),所以lastLogIndex = lastIncludeIndex + len(log)。在工业界中,如果lastLogIndex超出整数所能表示的范围该怎么办呢。

  1. 超出 log index 超出 u64 是一件很困难的事情,即使是 1ns 执行一次加法也需要很长的时间。
  2. 如果真的快要超出了也没有太大关系,现在的 raft log 一般是存在 kv store 里边的。一般是将整数序列化之后再作为键存入 kv store, 如果超出了 u64 只需要就更换到 u128 即可,读出来的时候只需要 cast 到 u128 即可。
1 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。