public class ConsistentHash<T> extends Object
Constructor and Description |
---|
ConsistentHash(int numberOfReplicas,
Collection<T> nodes) |
ConsistentHash(ToIntFunction<Object> hashFun,
int numberOfReplicas,
Collection<T> nodes) |
Modifier and Type | Method and Description |
---|---|
void |
add(T node)
增加节点
每增加一个节点, 就会在闭环上增加给定复制节点数
由于hash算法会调用node的toString方法, 故按照toString去重
例如复制节点数是2, 则每调用此方法一次, 增加两个虚拟节点, 这两个节点指向同一Node
|
T |
get(Object key)
获得一个最近的顺时针节点
|
void |
remove(T node)
移除节点的同时移除相应的虚拟节点
|
public ConsistentHash(int numberOfReplicas, Collection<T> nodes)
numberOfReplicas
- 复制的节点个数, 增加每个节点的复制节点有利于负载均衡nodes
- 节点对象public ConsistentHash(ToIntFunction<Object> hashFun, int numberOfReplicas, Collection<T> nodes)
hashFun
- hash算法对象numberOfReplicas
- 复制的节点个数, 增加每个节点的复制节点有利于负载均衡nodes
- 节点对象Copyright © 2024. All rights reserved.