一致性hash算法C++版

很久以前就想写这个算法,一直没有时间,搁置了大概半年,趁着国庆还没女票,花了一天写了这个算法

github链接:
https://github.com/shuaidong1996/Consistent-Hashing/tree/master

利用C++11和STL实现的Consistent Hashing
很适合新手看,代码量也不长,但是功能还是有的
就看看最终的功能吧,想看源码可以去下载

直接make
./conHash
一致性hash算法C++版_第1张图片

然后插入几台服务器

add 1.4.4.255 80 10
add 27.98.248.120 80 20
add 43.228.127.121 80 5
add 58.152.1.247 8080 30
add 58.152.1.248 8080 8
add 115.85.223.255 80 20
add 121.17.134.47 8080 50
add 121.17.134.50 8080 20
add 202.103.12.69 80 60
add 202.103.12.80 80 30

一致性hash算法C++版_第2张图片

查看服务器具体情况
一致性hash算法C++版_第3张图片

统计节点的分布情况
一致性hash算法C++版_第4张图片
可以看出你的hash函数是否合理
我默认设置的是MD5
看这情况分布的还算合理

你可能感兴趣的:(算法)