Idea #2853
Updated by Tim Pierce over 10 years ago
There is a growing consensus that rendezvous hashing is a more appropriate solution for this problem than consistent hashing:
http://en.wikipedia.org/wiki/Rendezvous_hashing
Some thoughts here from earlier technical discussions:
* Rendezvous hashing makes it harder to perform weighted block distribution (we may be able to get around this by adding virtual storage nodes)
* Computing N hashes per block transaction (one for each keep node or virtual node) seems acceptable as long as N isn't huge; the more precise you want your weighting to be, the more hashes you have to compute.
* If the map of storage nodes is tree structured, you can get O(log n) performance, e.g. compare group1 to group2, then follow the branch and compare group3 to group4, etc