Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: support flexible Raft #178

Open
siddontang opened this issue Feb 3, 2019 · 2 comments
Open

RFC: support flexible Raft #178

siddontang opened this issue Feb 3, 2019 · 2 comments
Labels
Enhancement An improvement to existing code. Optimization Performance related optimizations. Request for Comment A proposal to be considered. Analogous to an RFC in TiKV/Rust.

Comments

@siddontang
Copy link
Contributor

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.

@siddontang siddontang added Enhancement An improvement to existing code. Optimization Performance related optimizations. labels Feb 3, 2019
@Hoverbear Hoverbear pinned this issue Feb 14, 2019
@Hoverbear Hoverbear added the Request for Comment A proposal to be considered. Analogous to an RFC in TiKV/Rust. label Feb 14, 2019
@Hoverbear Hoverbear changed the title proposal: support flexible Raft RFC: support flexible Raft Feb 14, 2019
@windshg
Copy link

windshg commented Sep 4, 2019

Is there an existing flexible raft tla+ specification?

@gengliqi
Copy link
Member

Is there an existing flexible raft tla+ specification?

Yes. https://github.com/fpaxos/raft.tla

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement An improvement to existing code. Optimization Performance related optimizations. Request for Comment A proposal to be considered. Analogous to an RFC in TiKV/Rust.
Projects
None yet
Development

No branches or pull requests

4 participants