From c76dcc5190b6816374205720417394a1b0174e2b Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Sat, 2 Jul 2016 11:03:57 -0700 Subject: [PATCH] raft: add features section to readme file --- raft/README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/raft/README.md b/raft/README.md index c828081aa..35bf94454 100644 --- a/raft/README.md +++ b/raft/README.md @@ -9,6 +9,27 @@ A simple example application, _raftexample_, is also available to help illustrat how to use this package in practice: https://github.com/coreos/etcd/tree/master/contrib/raftexample +# Features + +This raft implementation is a full feature implementation of Raft protocol. Features includes: + +- Leader election +- Log replication +- Log compaction +- Membership changes +- Leadership transfer extension +- Lease-based linearizable read-only queries served by both the leader and followers + +This raft implementation also includes a few optional enhancements: + +- Optimistic pipelining to reduce log replication latency +- Flow control for log replication +- Batching Raft messages to reduce synchronized network I/O calls +- Batching log entries to reduce disk synchronized I/O +- Writing to leader's disk in parallel +- Internal proposal redirection from followers to leader +- Automatic stepping down when the leader loses quorum + ## Notable Users - [cockroachdb](https://github.com/cockroachdb/cockroach) A Scalable, Survivable, Strongly-Consistent SQL Database