Awesome
Production grade asynchronous C implementation of the Raft consensus protocol.
Documentation
See readthedocs for the full documentation.
Building
autoreconf -i
./configure
make
History
This library is a fork of Canonical's Raft implementation, which was originally written by this library's author himself while working at Canonical.
It is a fully compatible drop-in replacement of Canonical's version, at least up to v0.18.0.
License
This raft C library is released under a slightly modified version of LGPLv3, that includes a copyright exception letting users to statically link the library code in their project and release the final work under their own terms. See the full license text.
Notable users
Credits
Of course the biggest thanks goes to Diego Ongaro :) (the original author of the Raft dissertation).
A lot of ideas and inspiration was taken from other Raft implementations such as:
- CoreOS' Go implementation for etcd
- Hashicorp's Go raft
- Willem's C implementation
- LogCabin's C++ implementation