一致性哈希算法的简单实现和在redis集群的应用
项目中需要搭建一个简单的redis集群,用来存储系统中的特征值,利用到一致性哈希算法,简介可以看一致性哈希算法,本文简单实现了一致性哈希的算法,主要阐述一下应用场景和一些感想。
以上代码比较简单的实现了一致性哈希的算法。算法对来自客户端的请求进行分发,实现数据的存储和读取。redis也提供了相关的备份机制,但是是以牺牲了一部分的性能为代价的,结合我们的应用场景,并没有采用相关的备份机制,即使redis挂了,将模型重新计算和相关的特征值存入就可以了,因为特征值丢失的代价是我们可以承受的,而且模型更新的间隔比较短,所以就没有采用相关的备份机制,后续我们加入了双写的功能,即一份数据存储到不同的两个节点上,只需要在原有代码基础上稍加改动就行了,这样即使一个redis挂了,可以到另一个节点读取数据。