一致性hash之负载均衡

一致性哈希是一种解决分布式系统负载均衡的算法,尤其在动态增删节点时能保持较好的平衡性。它通过环形哈希空间和虚拟节点策略,确保数据迁移最小且单调性得到维护。此外,文章介绍了如何通过一致性哈希算法处理机器的添加和删除,以达到更好的平衡性。
摘要由CSDN通过智能技术生成

目前现在的负载均衡主要采用取模的方式,如果有一个机器故障了,或者我想再添加一台机器怎么处理?现查到了一致性hash算法。

自己看了一下资料:先说一下大概思想,一致性Hash主要是在分布式算法中用的比较多。

1.我们现在常用的是线性hash,这样万一有一个机器坏掉了,就容易造成数据丢失。如果换成环形hash,一定范围内的hash映射的是环形的下一个节点,就不会对其它机器的数据造成太大影响。

2.虚拟节点的使用:通过虚拟节点向真实节点的映射,很好的解决了平衡性的问题。

以下内容均为转载:http://blog.csdn.net/cywosp/article/details/23397179


一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 
    一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:
1、平衡性(Balance):平衡性是指哈希的结果能够尽可能分布到所有的缓冲中去,这样可以使得所有的缓冲空间都得到利用。很多哈希算法都能够满足这一条件。
2、单调性(Monotonicity):单调性是指如果已经有一些内容通过哈希分派到了相应的缓冲中,又有新的缓冲加入到系统中。哈希的结果应能够保证原有已分配的内容可以被映射到原有的或者新的缓冲中去,而不会被映射到旧的缓冲集合中的其他缓冲区。 
3、分散性(Spread):在分布式环境中,终端有可能看不到所有的缓冲,而是只能看到其

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值