- Rendezvous or highest random weight (HRW) hashing https://en.wikipedia.org/wiki/Rendezvous_hashing
- Jump Consistent Hash https://research.googleblog.com/2017/04/consistent-hashing-with-bounded-loads.html
- Ring Hash
hello service discovery. joining service (i'm host + port)
watch service, list nodes.
- sum buckets
- sort them (host + port)
- find index
accepting requests
- shard key (eg. account)
- jumphash(key, buckets) = partition
- is partition === mine? serve request.
on nodes update after serving request
- update buckets sum
- run through running keys
- rehash
- same partition? continue running
- different partition? stop running
https://www.npmjs.com/package/jumphash https://github.com/ceejbot/jumphash
https://medium.com/vimeo-engineering-blog/improving-load-balancing-with-a-new-consistent-hashing-algorithm-9f1bd75709ed https://akshatm.svbtle.com/consistent-hash-rings-theory-and-implementation https://eng.uber.com/intro-to-ringpop/ https://github.com/gholt/ring/blob/master/BASIC_HASH_RING.md http://www.paperplanes.de/2011/12/9/the-magic-of-consistent-hashing.html https://www.toptal.com/big-data/consistent-hashing http://www.tom-e-white.com/2007/11/consistent-hashing.html