一致性哈希的虚拟节点
来源:互联网 发布:单片机应用系统的开发 编辑:程序博客网 时间:2024/06/17 22:08
设环空间从 0 ~ 1000
目前有三个节点 [300, 600, 900], 各负责大约 300 的区段, 现在的问题是, 在没有虚拟节点概念的情况下, 如果一个节点失效, 其下游的节点会承担失效节点的所有数据量, 造成数据分布不均. 可以通过以下方式改善
new_list = []
for real_node in [300, 600, 900]:
for i in range(0, 10):
virt_node = (real_node + random(0, 1000) % 1000, real_node) # 不一定使用 random, 也可以使用其它更均匀的方式
new_list.append(virt_node)
new_list.sort()
new_list 即是接入了虚拟节点的哈希环, 即使用一定的算法对一个新加入的物理节点产生出在哈希环中分布均匀的虚拟节点, 然后每个虚拟的哈希节点都记录了其源物理节点的地址.
0 0
- 一致性哈希的虚拟节点
- 使用虚拟节点改进的一致性哈希算法
- memcached 之 哈希一致性 和 虚拟节点 分析
- memcached 之 哈希一致性 和 虚拟节点 分析
- Cassandra的一致性哈希(Consistent Hashing)和虚拟节点(Virtual Nodes)的关系
- 一致性HASH算法(虚拟节点)
- 分布式缓存负载均衡负载均衡的缓存处理:虚拟节点对一致性hash的改进
- 一致性哈希的浅析
- memcached 技术细节( 工作原理、内存模型、缓存算法、一致性hash、虚拟节点)
- 一致性哈希的设计理念
- memcached一致性哈希的php类
- Ketama一致性哈希算法的实现
- 利用一致性哈希的memcached类
- 一致性哈希的学习和理解
- 一致性哈希服务器的数据维护
- 一致性哈希算法的实现
- 一致性哈希算法的Java实现
- 一致性哈希算法的应用
- 详解SESSION与COOKIE的区别
- Java+MyEclipse+Tomcat (一)配置过程及jsp网站开发入门
- Java BlockingQueue 源码分析
- 再次返回ViewPager数据不显示
- 自搭的博客
- 一致性哈希的虚拟节点
- Spring3 学习笔记之(spring core 之IoC基础)
- [APIO2009]采油区域(枚举+递推)
- Spring3学习笔记之(spring core之IoC容器基本原理)
- 表结构变更操作
- 欢迎使用CSDN-markdown编辑器
- DB2修改某字段某位数据
- 【cocos2d-x3.5】Lua Plist与SpriteFrameCache
- 一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了