SurfStore
Implementing a Distributed Fault Tolerant stoarge system using RAFT consensus protocol
Getting people to agree on something is hard. Getting machines connected through an asychronous network to agree on something is harder. RAFT is an easy-to-understand consensus protocol which uses leader election and log replication to achieve consensus. In this project, a cloud-based file storage system was built that can survive server failure, datacenter failure, and network failures. Leader election and log replication from the RAFT Consensus protocol were implemented to maintain a consistent state across servers.