介绍一种轻巧的一致性哈希算法
主题
介绍一种轻巧的一致性哈希算法
来源
一篇论文:A Fast, Minimal Memory, Consistent Hash Algorithm
此算法的作者是 Google
的 John Lamping
和 Eric Veach
简介
原始代码—— C
代码实现
int32_t JumpConsistentHash(uint64_t key, int32_t num_buckets) |
Java
代码实现
GAV
<dependency> |
使用
int jumpConsistentHash = JumpConsistentHash.jumpConsistenHash(key, buckets); |
基本流程
- 基于上面的调用方式,算出所有虚拟节点的
hash
环位置 - 将这些值都放入跳表中
- 要访问数据时,根据数据的
key
算出hash
环位置 - 根据
key
的hash
环位置,查找跳表得到虚拟节点 - 根据虚拟节点,获取真实节点
- 访问真实节点,得到数据
这里提到了跳表,我们明天讲
Python 代码实现
安装
pip install jump-consistent-hash |
使用
import jump |