This repository contains my CS134 Distributed Systems Projects taken in Spring 2020.
viewservice is the source code for the master server, view service, which monitors the status of each available servers. This implements assignment 2 part A for this course.
pbservice is the source code for the primary/backup key/value service, assignment 2 part B for this course.
paxos is the source code for a library that implements paxos protocol, which is used in all the components below. This is part A for assignment 3.
kvpaxos is the source code for fault-tolerant, Paxos-based Key/Value Server. This is part B for assignment 3.
shardmaster is the source code for a shard master server which in charge of shard configuration and load-balancing. It uses Paxos library to be fault-tolerant. This is Part A for assignment4.
shardkv is the source code for Sharded Key/Value Server, an implementation of a fault-tolerant, sharded database. This is Part B for assignment4.