package
0.0.0-20241225174012-7a0820eadc6a
Repository: https://github.com/chtonad0000/golang.git
Documentation: pkg.go.dev

# README

consistenthash

Реализуйте consistent hashing.

Consistent hashing - это хеш функция, которая отображает множество ключей на множество нод (процессов в кластере).

Пусть у вас есть N процессов. Можно было бы использовать функцию hash(key) % N, где hash - какая-то "хорошая" хеш функция. Но если в систему добавить еще один процесс, почти все ключи "переедут". Потому что hash(key) % N != hash(key) % (N + 1).

Такие "переезды" в распределённой системе могут вызывать недоступность или просто создавать большую нагрузку. Эту проблему решает consistent hashing. Он гарантирует, что при добавлении новой ноды, "переедут" только ~ 1/N ключей.

Для реализации используйте кольцо с виртуальными нодами, которое описано в CS168: Introduction and Consistent Hashing

# Functions

No description provided by the author

# Structs

No description provided by the author

# Interfaces

No description provided by the author