Skip to content

Haseeb-Qureshi/ruby-dht

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

Distributed Hash Table in Ruby

The purpose of this project is to implement a distributed hash table, using local independently running HTTP servers. The code will be implemented entirely in Ruby.

TODO

  • Add replication factor (predecessor & successor?)
    • Need special endpoint for this?
  • Subdivide key space into smaller chunks to minimize variance?
    • Append each node 5 times to give smaller sub-slices
    • "#{node}#{i}" from 0-4?
  • Add finger tables (how? Need a central coordinator for finger table queries?)
  • How to deal with race conditions and request failures?
  • Quorums? Eventual consistency?
  • Periodically ping peers to detect failed nodes?
    • Reshuffle keys
  • Add auth token for private API endpoints

About

Distributed Hash Table with consistent hashing, implemented in Rack servers communicating via HTTP

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages