Consistent hashing

Great explanation of the concept:

Main points:

  • hashing formula (provides angle for each node or key): 360/INT_MAX * hash(key), where INT_MAX depends on implementation of hash() function (in the article INT_MAX = 10^10)
  • Only k/N keys need to be remapped when k is the number of keys and N is the number of servers (more specifically, the maximum of the initial and final number of servers)
  • application of weight x10 in the article implies assigning to server A labels A0..A10 and hashing them one by one