Skip to content

Implementation of the Rendezvous or Highest Random Weight (HRW) hashing algorithm in the Elixir Programming Language

License

Notifications You must be signed in to change notification settings

timdeputter/Rendezvous

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rendezvous Build Status Hex.pm package version Coverage Status License

Implementation of the Rendezvous or Highest Random Weight (HRW) hashing algorithm in the Elixir Programming Language (elixir-lang.org)

Installation

Add rendezvous as a dependency in your mix.exs file:

  defp deps do
    [
      rendezvous: "~> 0.0.1"
    ]
  end

and run mix deps.get.

Usage

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

License

Check LICENSE file for more information.

About

Implementation of the Rendezvous or Highest Random Weight (HRW) hashing algorithm in the Elixir Programming Language

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages