← back to projects

/// project

Distributed Hash Table (DHT)

Based on "Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications"

  • C
  • Distributed Systems
  • TCP/IP
  • Docker
  • Kubernetes
  • Multi-Threaded
  • Implemented a Chord-inspired DHT in C using TCP sockets, organizing up to 7 peers in a consistent hash ring with IDs 1–127, enabling deterministic object placement via successor-based key routing.
  • Engineered a bootstrap server to manage dynamic peer registration and ring topology updates, notifying affected predecessors and successors upon each join to maintain ring invariants without downtime.
  • Built a client-facing store/retrieve interface routed exclusively through the bootstrap node, forwarding requests hop-by-hop around the ring and returning structured responses (STORED, RETRIEVED, NOT FOUND).
  • Containerized all three components (bootstrap, peer, client) using Docker and Docker Compose, enabling reproducible multi-node deployments across 5 distinct testcase configurations with zero manual setup.