Implementation of key-value pair storage servers using concepts and techniques from distributed systems course.
Simple single-server storage with client communications. Cache for quicker lookup on storage server.
Multiple servers using hash ring to for scalable, distributed data storage. Used Zookeeper to monitor server status and handle server failures.
Implementation of replication, allowing for clients to request from multiple servers to retrieve information and prevent loss of data upon server failure.
Notification system to identify changes to watched key-value pairs.