- Notifications
You must be signed in to change notification settings - Fork0
An industrial-grade C++ implementation of RAFT consensus algorithm based on brpc, widely used inside Baidu to build highly-available distributed systems.
License
bilibili/braft
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
An industrial-grade C++ implementation ofRAFT consensus algorithm andreplicated state machine based onbrpc. braft is designed and implemented for scenarios demanding for high workload and low overhead of latency, with the consideration for easy-to-understand concepts so that engineers inside Baidu can build their own distributed systems individually and correctly.
It's widely used inside Baidu to build highly-available systems, such as:
- Storage systems: Key-Value, Block, Object, File ...
- SQL storages: HA MySQL cluster, distributed transactions, NewSQL systems ...
- Meta services: Various master modules, Lock services ...
Buildbrpc which is the main dependency of braft.
Compile braft with cmake
$ mkdir bld&&cd bld&& cmake ..&& make
Play braft withexamples.
Installing from vcpkg
You can download and install
braft
using thevcpkg dependency manager:git clone https://github.com/Microsoft/vcpkg.gitcd vcpkg./bootstrap-vcpkg.sh./vcpkg integrate install./vcpkg install braft
The
braft
port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, pleasecreate an issue or pull request on the vcpkg repository.
- Readoverview to know what you can do with braft.
- Readbenchmark to have a quick view about performance of braft
- Build Service based on braft
- Access Service based on braft
- Cli tools
- Replication Model
- Consensus protocol:
- Add Weixin idzhengpf__87 orxiongk_2049 with a verification message 'braft', then you will be invited into the discussion group.
About
An industrial-grade C++ implementation of RAFT consensus algorithm based on brpc, widely used inside Baidu to build highly-available distributed systems.
Resources
License
Stars
Watchers
Forks
Releases
Packages0
Languages
- C++92.8%
- Shell3.8%
- CMake2.0%
- Clojure1.1%
- Starlark0.3%