Jump consistent hash

Java implementation of the jump consistent hashing algorithm from Lamping and Veach. Paper http://arxiv.org/ftp/arxiv/papers/1406/1406.2294.pdf.

License

License

GroupId

GroupId

com.github.ssedano
ArtifactId

ArtifactId

jump-consistent-hash
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

Jump consistent hash
Java implementation of the jump consistent hashing algorithm from Lamping and Veach. Paper http://arxiv.org/ftp/arxiv/papers/1406/1406.2294.pdf.
Project URL

Project URL

https://github.com/ssedano/jump-consistent-hash
Source Code Management

Source Code Management

https://github.com/ssedano/jump-consistent-hash

Download jump-consistent-hash

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.ssedano/jump-consistent-hash/ -->
<dependency>
    <groupId>com.github.ssedano</groupId>
    <artifactId>jump-consistent-hash</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.ssedano/jump-consistent-hash/
implementation 'com.github.ssedano:jump-consistent-hash:1.0.0'
// https://jarcasting.com/artifacts/com.github.ssedano/jump-consistent-hash/
implementation ("com.github.ssedano:jump-consistent-hash:1.0.0")
'com.github.ssedano:jump-consistent-hash:jar:1.0.0'
<dependency org="com.github.ssedano" name="jump-consistent-hash" rev="1.0.0">
  <artifact name="jump-consistent-hash" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.ssedano', module='jump-consistent-hash', version='1.0.0')
)
libraryDependencies += "com.github.ssedano" % "jump-consistent-hash" % "1.0.0"
[com.github.ssedano/jump-consistent-hash "1.0.0"]

Dependencies

test (1)

Group / Artifact Type Version
junit : junit jar 4.11

Project Modules

There are no modules declared in this project.

Jump Consistent Hash

A Java implementation of the jump consistent hash from Lamping and Veach.

Paper: http://arxiv.org/ftp/arxiv/papers/1406/1406.2294.pdf

Abstract

Extracted from the paper

We present jump consistent hash, a fast, minimal memory, consistent hash algorithm that can be expressed in about 5 lines of code. In comparison to the algorithm of Karger et al., jump consistent hash requires no storage, is faster, and does a better job of evenly dividing the key space among the buckets and of evenly dividing the workload when the number of buckets changes. Its main limitation is that the buckets must be numbered sequentially, which makes it more suitable for data storage applications than for distributed web caching.

Usage

Add the dependency to your pom.xml

<dependency>
    <groupId>com.github.ssedano</groupId>
    <artifactId>jump-consistent-hash</artifactId>
    <version>1.0.0</version>
</dependency>

Or download the jar from Maven Central and add it to your classpath.

Clone the repo and build it with maven and add the jar to your classpath.

$ git clone https://github.com/ssedano/jump-consistent-hash
$ cd jump-consistent-hash
$ mvn clean install

Or copy the class and add it to your code base.

Then import it and use it.

int jumpConsistentHash = JumpConsistentHash.jumpConsistenHash(key, buckets);

Additional info in the javadoc.

License

Licensed under Apache 2.

Versions

Version
1.0.0