Implementation of the Rendezvous or Highest Random Weight (HRW) hashing algorithm in the Elixir Programming Language
MIT License
Implementation of the Rendezvous or Highest Random Weight (HRW) hashing algorithm in the Elixir Programming Language (elixir-lang.org)
Add rendezvous as a dependency in your mix.exs file:
defp deps do
[
rendezvous: "~> 0.0.1"
]
end
and run mix deps.get
.
Use Rendezvous.get to obtain for an object the corresponding bucket from a list of buckets. The first parameter defines the hashing algorithm to use.
object = "Some object to put in bucket"
buckets = ["bucket A", "bucket B", "bucket C"]
Rendezvous.get(:sha, object, buckets)
or use Rendezvous.get_node to obtain a nodename from the nodes in an elixir cluster:
Rendezvous.get_node object # returns name of elixir node
Check LICENSE file for more information.