go-zero的一致性hash
最近在尝试使用图来记录
如何处理一个虚拟节点映射到多个物理节点(hash冲突,也就是图中(a2,b2在一起了,我们只能找到最后映射的物理节点))
首先 连线对应的是一个物理节点的切片
- add: 会添加进这个切片中
- get: 如果出现冲突,我们会再次进行hash得到新的\(index\).
- delete: 如果是多个物理节点(冲突),遍历切片,将\(hash != hash(物理节点)\) 的物理节点添加到原有切片
添加
根据参数,创建不同数量的虚拟节点,并维护 虚拟节点->物理节点的关系.


浙公网安备 33010602011771号