Software Engineering

Mini S3 - Fault-Tolerant File Storage

Distributed Object Storage System

Overview

Mini S3 is a distributed object storage system that replicates the core functionality of Amazon S3. The system uses consistent hashing for data placement across nodes and implements configurable replication strategies for durability. The gRPC-based communication layer ensures efficient node-to-node data transfer.

Key Highlights

  • Implemented a distributed object storage system in Java using gRPC for node to node communication, consistent hashing for data placement, and configurable replication strategies to ensure durability and horizontal scalability
  • Built versioning and partition-tolerance mechanisms, modeling S3-like reliability across multiple concurrent users
  • Designed and evaluated replication factor policies by simulating node outages and rebalancing events, reducing storage overhead by 13% while preserving 99.6% fault tolerance under modeled failure conditions

Technologies Used

PythonCC++JAVARRubyJavaScriptTypeScript