一致性哈希
https://segmentfault.com/a/11...
节点增加、减少会导致已有数据映射错误。(三个节点时,5会映射到第二个节点上,缩减为2个节点时,5会映射到第一个节点上,此时去第一个节点其实找不到5)
如果分布式缓存大量失效就会发生缓存雪崩。
目标:尽可能小的改变已有数据的映射关系,从而减少数据移动的开销。解决分布式哈希表动态伸缩的问题。
哈希算法应满足
- 平衡性:各节点平衡分布,在算法层面做负载均衡
- 单调性:新增或删除节点时不影响系统裕兴
- 分散性:节点只需要保存一部分数据
把服务器也放到哈希环上。
顺时针找离对象最近的机器。
新增、删除机器时,只有机器左右的对象被影响。
为了让重分配更均衡,增加虚拟节点,对象先找到自己属于的虚拟节点,再找到虚拟节点属于的真实节点。一台真实节点对应大量虚拟节点,分散在环的各处,当增加或删除一台真实节点时,很多台其他节点都会受到轻微的影响。
推荐阅读
- 画解算法(1.|画解算法:1. 两数之和)
- ts泛型使用举例
- https请求被提早撤回
- 拒绝可以很艺术,或者很行为艺术。
- www和https://又被Chrome地址栏隐藏了
- AnyProxy抓取http/https请求
- 计算机网络基础TCP\HTTP\HTTPS
- IOST任务教程
- 12306车站代号
- linux安装go环境