• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

C++ raft lib

libraft

License

Overview

libraft is a C++ raft library,based on the RAFT consistency algorithm,inspired by etcd/raft.

Features

  • Leader election and priority-based semi-deterministic leader election
  • Cluster membership management, adding nodes, removing nodes, replacing nodes, etc.
  • Mechanism of transfer leader for reboot, load balance scene, etc.
  • Symmetric network partition tolerance
  • Asymmetric network partition tolerance
  • Fault tolerance, minority failure doesn't affect the overall availability of system
  • Manual recovery cluster available for majority failure
  • Linearizable read, ReadIndex/LeaseRead
  • Replication pipeline

Dependencies

  • CMake: >=2.6
  • Protobuf: >=1.8.0
  • gtest: >=3.14.0

Build

# first build dependencies(if system include these dependencies,just ignore it)
./bootstap.sh

# second build libraft
mkdir build
cd build
cmake ..
make

# run tests
./bin/libraft_test

Documents

Contribution

Acknowledgement

libraft was ported from Etcd's raft module etcd/raft with some optimizing and improvement. Thanks to the etcd team for opening up such a great RAFT implementation.

License

libraft is licensed under the Apache License 2.0.

More Repositories

1

Lua-Source-Internal

Lua source internal
1,442
star
2

Lua-5.1.4-codedump

Lua 5.1.4版本代码注释
C
372
star
3

x86-asm-book-source

带注释的《X86汇编语言-从实模式到保护模式》一书代码
Assembly
334
star
4

awesome-systemtap-cn

采集网络上优秀的systemtap学习资源
273
star
5

etcd-3.1.10-codedump

Go
187
star
6

storage-paper-reading-cn

存储(分布式、存储引擎等)领域相关的论文阅读笔记
186
star
7

qnode

qnode(cute node) - C + Lua + Actor Model = Erlang-like system
C++
165
star
8

AOI

aoi algorithm
C++
84
star
9

awesome-linux-system-cn

收集网络上讲解Linux系统原理的优秀文章、文档
75
star
10

latex-template

TeX
59
star
11

libcr

a coroutine lib for C users,in non-intrusive mode.
C
54
star
12

paxos

Paxos algorithm demo,from mit 6.824 lab 3
Go
25
star
13

ucore-codedump

清华大学ucore项目代码注释版
C
12
star
14

leveldb-1.9.0-codedump

leveldb-1.9.0 注解版
C++
11
star
15

lichuang.github.io

lichuang.github.io
HTML
10
star
16

MIT6.824-golabs-2015

MIT 6.824 分布式课程2015年的作业代码
Go
6
star
17

awesome-game-server

收集网络上关于游戏服务器编程相关的资源
6
star
18

ldb

a Lua debugger lib written in C
C
4
star
19

awesome-qt

collect awesome qt resource
3
star
20

udb

C++
3
star
21

awesome-contagion-knowledge

收集介绍传染病相关的知识资料链接
3
star
22

TAPL

types-and-programming-languages
OCaml
2
star
23

stress

Rust
1
star
24

algorithm_notes

算法笔记
Python
1
star
25

commoncache

Automatically exported from code.google.com/p/commoncache
C
1
star
26

my-latex-template

TeX
1
star
27

latex-tikz-sample

latex tikz samples
TeX
1
star