1.虚拟节点和一致性哈希
为了保证节点增加和节点删除而导致的hash不均匀,选择采用一致性hash。而实现hash采用的是md5函数。被推荐安装的openssl,实在是非常的坑...安了半天没安上....网上的教程乘次不齐,而且还毁掉了我的虚拟机一台...为此 我表示灰常的愤恨。大家写的教程并不是完完整整可以解决问题,反而误事。
最后用的是一个c++实现MD5的库,原文链接如下。
http://www.cnblogs.com/ggjucheng/archive/2012/01/03/2311241.html
亲测好用!
2.jerasure纠删码库
需用gcc编译,然后再在c++中以如下的形式使用。
extern "C"
{
#include <jerasure.h>
}
{
#include <jerasure.h>
}