【发布时间】:2014-04-29 07:31:15
【问题描述】:
我对实现 RAFT 有以下疑问:
考虑以下场景\实现:
- RAFT 领导者收到一个命令条目,它将条目附加到一个 内存数组然后将条目发送给追随者(使用 心跳)
- 追随者收到条目并将其附加到他们的 内存中的数组,然后发送它已收到的响应 进入
- 然后领导者通过将条目写入持久性来提交条目 store (file) 领导者发送最新的提交索引在 心跳
- 跟随者然后根据领导者提交条目 通过将条目存储到其持久存储(文件)来提交索引
RAFT 的一个实现(链接:https://github.com/peterbourgon/raft/)似乎以这种方式实现它。我想确认一下是否可以。
如果条目由领导者和追随者“在内存中”维护直到它被提交,是否可以?这种情况在什么情况下会失败?
【问题讨论】: