Что такое consistent hashing?

Middle+
313 просмотров
AFK Offer AI

Consistent hashing — алгоритм распределения данных по серверам, при котором добавление/удаление сервера перемещает минимум данных. Серверы и ключи хешируются на кольцо (0 до 2³²). Ключ попадает на ближайший сервер по часовой стрелке. При добавлении нового сервера перемещается только часть ключей. Используется в memcached, Cassandra, CDN. Виртуальные узлы (каждый сервер — несколько точек на кольце) улучшают равномерность. В Go реализуется через sorted slice + binary search.

Следующий вопрос

Latency, traffic, errors, saturation?