如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。[更多系列文章在我博客] coderdao.github.io/
Golang 实现一致性哈希负载均衡
哈希负载均衡
个人理解:一致性哈希算法
- 根据每一台服务器不同的
ip:port
根据自己的key生成算法
,生成一个唯一的 key 值 key => ip:port
把机器唯一的key
映射机器访问地址ip:port
设置到一个有序的循环圆
上- 请求过来的时候,根据请求内容生成按 自己的
key生成算法
也生成一个 请求的key
- 请求的
key
和有序的循环圆
上 机器的key
循环对比,第一个 机器的key
大于 请求的key
就是最优解,由它来处理该请求 - 如果 请求的
key
比有序的循环圆
上 机器的key
都大,那么由圆上第一条机器
处理 有序的循环圆
上机器,根据访问情况。近实时增删机器映射