分布式一致性哈希算法原理
- 平衡性(Balance):平衡性是指哈希的结果能够尽可能分布到所有的缓冲中去,这样可以使得所有的缓冲空间都得到利用。很多哈希算法都能够满足这一条件。
- 单调性(Monotonicity):单调性是指如果已经有一些内容通过哈希分派到了相应的缓冲中,又有新的缓冲加入到系统中。哈希的结果应能够保证原有已分配的内容可以被映射到原有的或者新的缓冲中去,而不会被映射到旧的缓冲集合中的其他缓冲区。
- 分散性(Spread):在分布式环境中,终端有可能看不到所有的缓冲,而是只能看到其中的一部分。当终端希望通过哈希过程将内容映射到缓冲上时,由于不同终端所见的缓冲范围有可能不同,从而导致哈希的结果不一致,最终的结果是相同的内容被不同的终端映射到不同的缓冲区中。这种情况显然是应该避免的,因为它导致相同内容被存储到不同缓冲中去,降低了系统存储的效率。分散性的定义就是上述情况发生的严重程度。好的哈希算法应能够尽量避免不一致的情况发生,也就是尽量降低分散性。
- 负载(Load):负载问题实际上是从另一个角度看待分散性问题。既然不同的终端可能将相同的内容映射到不同的缓冲区中,那么对于一个特定的缓冲区而言,也可能被不同的用户映射为不同的内容。与分散性一样,这种情况也是应当避免的,因此好的哈希算法应能够尽量降低缓冲的负荷。
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
分布式一致性哈希算法原理相关推荐
- 一致性哈希算法原理详解
一.普通 hash 算法 (取模算法): 在了解一致性哈希算法之前,我们先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那 ...
- 一致性哈希算法原理、避免数据热点方法及Java实现
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简 单哈 ...
- (转)一致性哈希算法原理
一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致 ...
- 一致性哈希算法原理,应用及代码实现
1,大量热点数据问题 在高并发的分布式系统中,缓存等服务大多都采用集群部署,但任然经常会存在大量的热点数据,经常在缓存或者数据库查询,为保证缓存或数据库服务的高可用,尽可能的让其不出现宕机的情况,需要 ...
- 一致性哈希算法原理及应用
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简单哈希 ...
- 一致性哈希算法原理(一)
一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致 ...
- 【BAT面试必备】一致性哈希算法原理 一文吊打面试官
一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致 ...
- 图解一致性哈希算法原理
一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致 ...
- 5分钟读懂一致性哈希算法原理
目录 一.普通 hash 算法 (取模算法) 1.普通 hash算法 与 使用场景描述 2.普通 hash 算法的缺陷 二.一致性哈希算法 2.一致性 hash 算法的优点 3.hash 环的倾斜与虚 ...
最新文章
- 语言趣味编程100例无水印_趣味c语言编程100例(三)
- 事务中mybatis通过id查不到但是通过其他条件可以查到_40打卡 MyBatis 学习
- [LeetCode] 93. Restore IP Addresses_Medium tag: backtracking
- C ++ 11基于反向范围的for循环
- MySQL计算在线时长(超过2分钟未上传不在计算范围)
- 【OS学习笔记】二十二 保护模式六:保户模式下操作系统内核如何加载用户程序并运行 对应的汇编代码之用户程序
- 正确清理binlog日志
- invalid LOC header(bad signature)错误及解决
- 吃亏的程序员,如何拿到 9 个月的年终奖?
- NYOJ98 - 成绩转换
- Oracle数据库中dml提交,奇怪,ORACLE的触发器的DML操作,没有COMMIT,居然也能真正的提交掉???...
- 前景检测算法(十)--SOBS算法
- Tomcat 7 证书配置中遇到的一个问题
- 简单实现ToolStripMenuItem(菜单栏)的单选效果
- jdk官网下载账号登陆
- 个人信息安全规范----9、个人信息保护政策模板
- 算法的时间复杂度和空间复杂度详解
- Kotlin技术 - 委托和代理
- Yourkit 监控Jetty(stand-alone)
- git 遇到The remote end hung up unexpectedly
热门文章
- python断言assertequal_python中那个断言assert的优化
- React通过url传参和通过路由传参
- scrapy设置headers,cookies
- 3.1 关于混合图像的思考
- 文思海辉大厦介绍-摘自网络
- python数据分析入门之数据类型(菜鸟学习总结篇)
- zeros函数python_Python之python中numpy.zeros()函数
- 兜转数年,老跳成了卖过软件开过店写过APP的电脑老师
- matlab摩托车刹车问题,摩托车刹车遇到锁死的情况,该怎么办?
- docker-compose部署6.8.23版本elasticsearch+es-head+kibana多节点集群及部分排错处理