月度归档:2021年06月

一致哈希Go实现及应用(一致哈希学习笔记三)

一致哈希算法介绍参考本站文章《一致哈希算法理解(一致哈希学习笔记一)》

回顾一致哈希算法步骤:
0、将每一个服务器节点按照ip或者server_name, 通过hash函数(eg: crc32)得到对应的一组hash整数值,这里称做hash_servers,并对得到的整数值按由小到大进行排序。
1、将key也通过上面同一个hash函数计算得到对应hash整数值, 这里称为hash_key。

2、遍历hash_servers,用hash_key与hash_servers中的数逐个比较,当hash_key最后小于hash_servers中的那个数存在时,这个数对应的节点就是这个key所存储的节点,否则存在第一个节点。

一、Go实现
这里主要是一致哈希算法Go的一种实现笔记,PHP的实现参考本站文章《一致哈希PHP实现及应用(一致哈希学习笔记二)
继续阅读