先日、 Rendezvous Hashingというアルゴリズムを小耳に挟んだ。少し興味をひかれ、軽く調べつつ実装してみたので、その感想。 ※ 思いついたことをテキトウに書いているだけであり、間違っている情報を含んでいる可能性もあるので注意 RendezvousHashingアルゴリズム実装の参考にしたのはWikipediaの記事(ちゃんと知りたい人はリンク先を参照のこと)。Highest random weight (HRW) hashingとも呼ばれるらしい。 目的いわゆる分散ハッシュテーブル問題を解くためのアルゴリズムの一つ。 例えば「あるオブジェクトOを冗長度kで保存したい」として、そのために「格納先として、n個のサーバ群の中からk個を選択する」といったことを、各クライアントが独立して(ローカルな計算のみで)、かつ、一貫性を維持した形(i.e., クライアント間で選択結果に差がでない