Popularity
2.3
Declining
Activity
0.0
Stable
11
1
0
Programming language: Crystal
License: MIT License
Tags:
Algorithms And Data Structures
hash_ring alternatives and similar shards
Based on the "Algorithms and Data structures" category.
Alternatively, view hash_ring alternatives based on common mentions on social networks and blogs.
-
crystalline
A collection of containers & algorithms for the Crystal programming language -
graphlb
graphlb is a crystal library which contains all the graph Data-Structures and Algorithms implemented in crystal-lang. -
markov
⛓ A Crystal library for building Markov Chains and running Markov Processes. -
kd_tree
Crystal implementation of "K-Dimensional Tree" and "N-Nearest Neighbors" -
crystal-linked-list
Simple linked list implementation in Crystal -
Goban
A fast and efficient QR/Micro QR/rMQR Code implementation in Crystal lang -
text
A collection of phonetic algorithms for Crystal. Including; Porter-Stemmer, Soundex, Metaphone, Double Metaphone & White Similarity -
splay_tree_map
This is a Crystal implementation of a Splay Tree; which is a type of binary search tree that is semi-balanced and that tends to self-optimize so that the most accessed items are the fastest to retrieve. -
haversine
Crystal implementation of the Haversine formula to calculate distances between two points given their latitudes and longitudes -
delimiter_tree
A crystal-lang tree structure that is built using a delimiter. -
csuuid
This is a small UUID library that implements a chronologically sortable UUID. -
edits.cr
Edit distance algorithms inc. Jaro, Damerau-Levenshtein, and Optimal Alignment -
murmur3
Crystal implementation of Murmur3 hash algorithm used by Cassandra -
ternary_search_tree
A Crystal implementation of a Ternary Search Tree -
secure-remote-password
Crystal implementation of the Secure Remote Password protocol (SRP-6a) -
s2_cells
maps latitude and longitude to S2 Cells https://s2geometry.io/
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
Promo
www.sonarqube.org
Do you think we are missing an alternative of hash_ring or a related project?
README
hash_ring
The Consistent Hash Ring is a useful data structure when you operate the distributed servers. This library is implementation of Consistent Hash Ring based on the excellent Elixir hash ring lib.
Installation
Add this to your application's shard.yml
:
dependencies:
hash_ring:
github: TobiasGSmollett/hash_ring
Usage
require "hash_ring"
# Register 3 servers
hash_ring = HashRing::HashRing.new(["one", "two", "three"])
# Every user is assigned a server by consistent hash ring.
hash_ring.get("user1") # => "three"
hash_ring.get("user2") # => "three"
hash_ring.get("user3") # => "one"
hash_ring.get("user4") # => "two"
# Removes the "two" server
hash_ring.remove("two")
# Exists two servers which are "one" and "three".
hash_ring.get("user1") # => "three"
hash_ring.get("user2") # => "three"
hash_ring.get("user3") # => "one"
hash_ring.get("user4") # => "three"
Contributing
- Fork it ( https://github.com/TobiasGSmollett/hash_ring/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- tobias TobiasGSmollett - creator, maintainer