This project is a implementation of distributed, sharded, replicated KV storage system
which supports Put
, Append
, and Get
operations and provides linearizability.
paxos
and paxosrsm
implemented the paxos protocol and a replicated state machine(RSM) based on paxos.
shardmaster
implemented a replicated shard master server managing the replica groups of servers, handling died and joined servers and doing the load-balancing among groups.
shardkv
implemented a shard server operating as part of a replica group, in which every server can serve concurrent requests.
The shardmaster
provides a distributed hash table. Each replica group will be responsible for several shards. The whole system is fault-tolerant as long as the majority of a replica group or shard masters lives.
dywsjtu/Sharded-KV-Storage-Based-On-Paxos
A implementation of distributed, sharded, replicated KV storage system
GoApache-2.0