{"repo":"eraft-io/eraft","free":true,"listed":false,"github":"https://github.com/eraft-io/eraft","clone":"git clone https://github.com/eraft-io/eraft.git","description":"A generic raft library","language":"C++","stars":292,"topics":["raft","distributed-systems","distributed-consensus-algorithms","cloudnative","database","redis","rocksdb"],"license":"MIT","category":"databases-storage","readme_excerpt":"eRaft: A Distributed Sharded KV Storage System A C++17 library implementing the Raft consensus algorithm and a sharded key-value store on top of it. Modules Module Source Description -------- -------- ------------- raft raft cpp/src/raft.cpp Core Raft consensus: leader election, log replication, snapshotting, persistence kvraft raft cpp/src/kvraft server.cpp Fault-tolerant KV store on Raft, with client deduplication and linearizable semantics shardctrler raft cpp/src/shardctrler.cpp Configuration cluster managing dynamic shard-to-group assignment shardkv raft cpp/src/shardkv.cpp Sharded KV store with cross-group data migration, garbage collection, and concurrent reconfiguration Architecture Key Features - Header-only public API — include/raft/ .h exposes all types and interfaces - In-memory peer transport — InMemPeer / InMemRaftPeer for fast single-process testing - gRPC support — grpc server.cpp / grpc client.cpp for real network deployment - BlockingQueue — lock-based notify channel for coordinating Raft applier with service-layer Execute() - Snapshot + persistence — Persister with readPersist() / persist() for crash recovery Build & Test Dependencies - C++17 compiler (Clang / GCC) - CMake ≥ 3.16 - gRPC + Protobuf - Google Test - RocksDB macOS:","default_branch":null,"files":null,"tree":[],"storefront":"/r/eraft-io","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/eraft-io/eraft/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}