Skip to content

An industrial-grade C++ implementation of RAFT consensus algorithm based on brpc, widely used inside Baidu to build highly-available distributed systems.

License

Notifications You must be signed in to change notification settings

ryanthomasjohnson/braft

 
 

Repository files navigation

Build Status


An industrial-grade C++ implementation of RAFT consensus algorithm and replicated state machine based on brpc. 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 ...

Getting Started

  • Build brpc which is the main dependency of braft.

  • Compile braft with cmake

    $ mkdir bld && cd bld && cmake .. && make
  • Play braft with examples.

Docs

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

Packages

No packages published

Languages

  • C++ 92.7%
  • Shell 3.9%
  • CMake 2.0%
  • Clojure 1.1%
  • Starlark 0.3%