import java.util.*;
public class ConsistencyHash {
private static final int VIRTUAL_MACHINE_NUMBER = 5 ;
private SortedMap<Integer,String> virtualNodeMap = new TreeMap<Integer, String>();
private List<String> trueNodeList = new ArrayList<String>();
public void addNode(String node){
if(trueNodeList.contains(node)){
return;
}
trueNodeList.add(node);
for(int i=0;i<VIRTUAL_MACHINE_NUMBER;i++){
String virtualNodeName = node + i;
int hash = getHash(virtualNodeName);
virtualNodeMap.put(hash,virtualNodeName);
}
}
/**
* 删除某个节点
* @param node
*/
public void delNode(String node){
trueNodeList.remove(node);
for(int i=0;i<VIRTUAL_MA
一致性哈希算法 Java实现
最新推荐文章于 2025-08-27 09:20:30 发布
该博客介绍了一致性哈希算法的实现,包括添加和删除节点的方法,以及如何通过FNV哈希算法分配任务到服务器。在100个任务的分配示例中,展示了节点变化时任务重新分布的稳定性。

最低0.47元/天 解锁文章
432

被折叠的 条评论
为什么被折叠?



