If my input key hashes to anywhere between machine1 and machine2 in the circle, and our algorithm goes clockwise, then we know machine2 will be returned.
consistentHash.getMachine(myInput) = machine2;
What if I want to avoid machine2 for myInput? Say, myInput is an account ID and it has maximized its budget on machine2. Is there a way to specify that extra info and get back machine0 instead, i.e.
consistentHash.getMachine(input, excludes=[machine2]) = machine0;
I'm interested in both an algorithmic explanation and any existing implementations/libraries (Java preferred), if they exist.
(Image source: http://michaelnielsen.org/blog/consistent-hashing)
_I put at its end for italic ...