Long k =
((long)(d[3+h*4]0xFF)24)
| ((long)(d[2+h*4]0xFF)16)
| ((long)(d[1+h*4]0xFF)8 )
| ((long)(d[0+h*4]0xFF));
// 在环上保存节点
consistentBuckets.put( k, servers[i] );
}
}
// 每个server一共分配4*factor个虚拟节点
}
// 用MD5来计算key的hash值
MessageDigest md5 = MD5.get();
md5.reset();
md5.update( key.getBytes() );
byte[] bKey = md5.digest();
// 取MD5值的低32位作为key的hash值
long hv = ((long)(bKey[3]0xFF)24) | ((long)(bKey[2]0xFF)16) | ((long)(bKey[1]0xFF)8 ) | (long)(bKey[0]0xFF);
// hv的tailMap的第一个虚拟节点对应的即是目标server
SortedMap tmap = this.consistentBuckets.tailMap( hv );
return ( tmap.isEmpty() ) ? this.consistentBuckets.firstKey() : tmap.firstKey();
更多问题到问题求助专区()
php分布式数据库的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于php 分布式、php分布式数据库的信息别忘了在本站进行查找喔 。
推荐阅读
- 发微信视频号怎么删除,怎么删除微信视频号发的视频
- 财富精算师小程序怎么注册的简单介绍
- 如何做新媒体布局创意案例,新媒体创新案例
- 网站制作视频教程下载,网站制作视频教程下载免费
- java中文写代码 java在哪儿写代码
- 华为手机商城质量怎么杨,华为商城的商品怎么样
- js字符串substr,js字符串substring
- 象棋直播走棋教程,象棋走棋步骤
- python递归函数分解 python递归函数基例