golang有用的库及工具 之 一致性哈希(Consistent Hashing)算法
来源:互联网 发布:淘宝如何设置活动秒杀 编辑:程序博客网 时间:2024/05/16 01:32
Consistent Hash 可用于 一致性哈希可用于解决服务器均衡问题。经配合 etcd使用
git 库地址:https://github.com/stathat/consistent
import "stathat.com/c/consistent"type Hash struct { consistent *consistent.Consistent}func (h *Hash) Add(key string) { h.consistent.Add(key)}func (h *Hash) Get(key string) (string, error) { return h.consistent.Get(key)}func (h *Hash) Remove(key string) { h.consistent.Remove(key)}func NewHash() *Hash { consistent := consistent.New() h := &Hash{consistent: consistent} return h}
test:
hash:=NewHash()hash.Add("aaa")hash.Add("abc")hash.Add("acd")fmt.Println(hash.Get("1"))fmt.Println(hash.Get("2"))fmt.Println(hash.Get("3"))fmt.Println(hash.Get("4"))fmt.Println(hash.Get("5"))fmt.Println(hash.Get("6"))
输出:abc <nil>
abc <nil>
abc <nil>
acd <nil>
abc <nil>
acd <nil>
总结:通常在集群环境下,hash.Add 添加 集群环境节点相关地址,hash.Get 通过参数值映射数据到集群节点地址。
阅读全文
0 0
- golang有用的库及工具 之 一致性哈希(Consistent Hashing)算法
- 一致性哈希算法(Consistent Hashing)
- Consistent Hashing 一致性哈希算法
- 一致性哈希算法(consistent hashing)
- 一致性哈希算法(Consistent Hashing)
- 一致性哈希算法 consistent hashing
- 一致性哈希算法(Consistent Hashing)
- 一致性哈希算法(Consistent Hashing)
- 一致性哈希算法(Consistent Hashing)
- 一致性哈希算法 - Consistent Hashing
- Consistent Hashing一致性哈希算法
- 一致性哈希算法(Consistent Hashing)
- 一致性哈希算法(Consistent Hashing)
- 一致性哈希算法(consistent hashing)
- 一致性哈希算法(Consistent Hashing)
- 一致性哈希算法 - Consistent Hashing
- 各种算法-一致性哈希 (Consistent hashing)
- 一致性哈希算法(consistent hashing)
- Android轮播图原理思路分析+实现方案
- MyBatis源码分析——SqlSessionFactory实例的产生过程
- 51nod 1267 4个数和为0 思路:哈希map+避免重复的点
- 461. Hamming Distance
- 非科班985本科求职经历
- golang有用的库及工具 之 一致性哈希(Consistent Hashing)算法
- 破解前端面试(80% 应聘者不及格系列):从 闭包说起
- Eclipse+ADT+Android SDK 搭建安卓开发环境
- Java Enum
- 51nod 1402 最大值 3级算法题 排序后修改限制点 时间复杂度O(m^2)
- 简单的Nginx负载均衡
- AXI4协议分析
- 逆置
- 高斯消元——球形空间产生器sphere