|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectcom.xiaoleilu.hutool.ConsistentHash<T>
T - 节点类型public class ConsistentHash<T>
一致性Hash算法 算法详解:http://blog.csdn.net/sparkliang/article/details/5279393 算法实现:https://weblogs.java.net/blog/2007/11/27/consistent-hashing
| 嵌套类摘要 | |
|---|---|
static interface |
ConsistentHash.HashFunc
Hash算法对象,用于自定义hash算法 |
| 构造方法摘要 | |
|---|---|
ConsistentHash(ConsistentHash.HashFunc hashFunc,
int numberOfReplicas,
Collection<T> nodes)
构造 |
|
ConsistentHash(int numberOfReplicas,
Collection<T> nodes)
构造,使用Java默认的Hash算法 |
|
| 方法摘要 | |
|---|---|
void |
add(T node)
增加节点 每增加一个节点,就会在闭环上增加给定复制节点数 例如复制节点数是2,则每调用此方法一次,增加两个虚拟节点,这两个节点指向同一Node 由于hash算法会调用node的toString方法,故按照toString去重 |
T |
get(Object key)
获得一个最近的顺时针节点 |
void |
remove(T node)
移除节点的同时移除相应的虚拟节点 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
public ConsistentHash(int numberOfReplicas,
Collection<T> nodes)
numberOfReplicas - 复制的节点个数,增加每个节点的复制节点有利于负载均衡nodes - 节点对象
public ConsistentHash(ConsistentHash.HashFunc hashFunc,
int numberOfReplicas,
Collection<T> nodes)
hashFunc - hash算法对象numberOfReplicas - 复制的节点个数,增加每个节点的复制节点有利于负载均衡nodes - 节点对象| 方法详细信息 |
|---|
public void add(T node)
node - 节点对象public void remove(T node)
node - 节点对象public T get(Object key)
key - 为给定键取Hash,取得顺时针方向上最近的一个虚拟节点对应的实际节点
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||