COMPLETED Systems

s3-like-storage

Distributed S3-compatible object storage system with consistent hashing and 3-way replication

// DESCRIPTION

A production-grade distributed object storage system implementing the S3 API. Designed for high availability, scalability, and data durability.

Architecture

┌─────────────────────────────────────────────────────────────┐
│                      S3 API Gateway                          │
│              (REST API + Signature V4 Auth)                  │
├─────────────────────────────────────────────────────────────┤
│   ┌───────────────┐  ┌───────────────┐  ┌───────────────┐  │
│   │  Bucket Mgr   │  │  Object Mgr   │  │ Multipart Mgr │  │
│   └───────────────┘  └───────────────┘  └───────────────┘  │
├─────────────────────────────────────────────────────────────┤
│                    Metadata Layer (PostgreSQL)               │
├─────────────────────────────────────────────────────────────┤
│   ┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐   │
│   │ Node 1  │   │ Node 2  │   │ Node 3  │   │ Node N  │   │
│   │(Primary)│   │(Replica)│   │(Replica)│   │ ...     │   │
│   └─────────┘   └─────────┘   └─────────┘   └─────────┘   │
│              Consistent Hash Ring + Replication              │
└─────────────────────────────────────────────────────────────┘

Core Features

  • S3 API Compatibility: GET, PUT, DELETE, LIST, multipart upload
  • Consistent Hashing: Virtual nodes for load balancing
  • 3-Way Replication: Configurable replication factor
  • Versioning: Object version history
  • Lifecycle Management: Automatic expiration and transitions
  • ACL System: Fine-grained access control

Performance

  • Small Files: 1,200 requests/second
  • Large Files: 600 MB/s throughput
  • Durability: 99.999999999% (11 nines)

Monitoring

  • Prometheus metrics for all operations
  • Storage utilization tracking
  • Replication lag monitoring
  • Health check endpoints

// HIGHLIGHTS

  • Resume-quality distributed systems project
  • Phase 5 implementation complete
  • Comprehensive test suite with chaos testing
  • Production deployment documentation

TECH_STACK

Go 1.21+ PostgreSQL Redis Nginx Prometheus Docker

PROJECT_INFO

started: 2024-07-01
completed: 2024-12-01
status: COMPLETED
type: Systems