There is also jump consistent hashing https://arxiv.org/pdf/1406.2294
There is also Aggregated Rendezvous Hashing[1] available, which kind of solves problem of growth of required calculations for large numbers of nodes.
Re:Overflow in Consistent Hashing
by vlovich123 on Monday May 20, 2024 @09:01AM
(#40415014)
I used a different technique that seems to work well in practice. Prehash the names of the nodes beforehand. Then hash the key and combine the hashes using a much cheaper algorithm [1]. You only need to do a single hash per key as with consistent hashing and then a very fast O(n) operation instead of a hash to find the optimal node. This does degrade to an O(nlogn) sort if you need to find the N best nodes instead of the single best node (e.g. to have a concept of fallbacks that you hand off to the next link in the chain), but I found that to not actually matter where I implemented it (generally was routing on < 100 nodes total in the first place).
[1] https://en.m.wikipedia.org/wiki/Rendezvous_hashing