使用一致性哈希的工业级产品或中间件有哪些?

最近想采用一致性哈希来解决由于心跳和网络抖动导致的数据迁移问题,做到负载均衡和最少的数据节点迁移,但是我自己测试的结果,一致性哈希带来的节点迁移确实很少,但是节点的数据分布均匀情况不尽如人意,有时候分布很均匀,有时候则不行。
我采用crc32算法和MD5算法去做哈希,然后虚拟节点数量从5、10、100、1000、10000做测试,160个线上数据,最后的结果发现100的虚拟节点较为均匀,但是由于只是个人的测试,所以还是无法用到实际线上环境。。
请问大家有什么关于一致性哈希的参数调优的方法吗?或者一些工业级别的产品和中间件是怎么解决一致性哈希的这个缺点的呢?

阅读 3.9k
3 个回答

Redis 分片使用的是 murmurhash

MurmurHash用的比较多,比如Cassandra。

加入虚拟节点的做法是对的。哈希函数用一个差不多的就行,关键是要速度快,如前面答案提到 MurmurHash 就不错。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题