raft-rs
raft-rs copied to clipboard
RFC: support flexible Raft
Is your feature request related to a problem? Please describe.
We know that for every write
in Raft, we can only apply the write
to the state machine when the Raft log is committed, which means the majority of the nodes have received the Raft entry and appended to their Raft logs.
Mostly, we have three nodes, but in some critical scenario, we need to gain more high security, so we have to use more nodes like 5 or 7, but this will reduce the write performance.
Describe the solution you'd like
Inspired by https://arxiv.org/abs/1608.06696, maybe we can introduce flexible Raft. We don't need to guarantee the majority write mostly, and this can improve the performance.
Is there an existing flexible raft tla+ specification?
Is there an existing flexible raft tla+ specification?
Yes. https://github.com/fpaxos/raft.tla