Исключить указанный узел c для указанного входа c в согласованном хешировании? - PullRequest
0 голосов
/ 21 февраля 2020

Если моя клавиша ввода хэшируется где-то между machine1 и machine2 в круге, и наш алгоритм работает по часовой стрелке, то мы знаем, что будет возвращено machine2.

consistentHash.getMachine(myInput) = machine2;

Что если я хотите избежать machine2 для myInput? Скажем, myInput - это идентификатор учетной записи, и он увеличил свой бюджет до machine2. Есть ли способ указать эту дополнительную информацию и получить вместо нее machine0, то есть

consistentHash.getMachine(input, excludes=[machine2]) = machine0;

Меня интересует как объяснение алгоритма c, так и любые существующие реализации / библиотеки (предпочтительно Java) ), если они существуют.

text

(Источник изображения: http://michaelnielsen.org/blog/consistent-hashing)

...