dywsjtu / Sharded-KV-Storage-Based-On-Paxos

A implementation of distributed, sharded, replicated KV storage system

Repository from Github https://github.comdywsjtu/Sharded-KV-Storage-Based-On-PaxosRepository from Github https://github.comdywsjtu/Sharded-KV-Storage-Based-On-Paxos

Sharded-KV-Storage-Based-On-Paxos

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.

About

A implementation of distributed, sharded, replicated KV storage system

License:Apache License 2.0


Languages

Language:Go 100.0%