https://github.com/haseeb-qureshi/ruby-dht
Distributed Hash Table with consistent hashing, implemented in Rack servers communicating via HTTP
https://github.com/haseeb-qureshi/ruby-dht
dht distributed ruby smaller
Last synced: 4 months ago
JSON representation
Distributed Hash Table with consistent hashing, implemented in Rack servers communicating via HTTP
- Host: GitHub
- URL: https://github.com/haseeb-qureshi/ruby-dht
- Owner: Haseeb-Qureshi
- Created: 2016-02-19T09:38:48.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-02-19T09:56:27.000Z (over 10 years ago)
- Last Synced: 2023-02-28T05:41:38.220Z (over 3 years ago)
- Topics: dht, distributed, ruby, smaller
- Language: Ruby
- Homepage:
- Size: 14.6 KB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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