基于一致性哈希算法云存储服务器容错性探究.docxVIP

基于一致性哈希算法云存储服务器容错性探究.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于一致性哈希算法云存储服务器容错性 探究 摘要:HDFS架构下的云环境服务器拥有成本低、易扩 展、传输效率高等诸多优点,但节点选择策略易造成存储负 载不均,从而影响系统性能,针对这一问题,结合一致性哈 希算法,综合多个因素,提出了一种服务器改进方案,用以 缓解中小企业服务器端压力。 关键词:云存储;负载均衡;节点分配;哈希环 中图分类号:TP333 随着近年来网络应用的不断扩充,网络数据交换量正在 迅猛增长,作为网络服务提供方,Web服务器承受着庞大的 数据流压力。Web服务器和数据库服务器的反应速度一再成 为阻碍网络通信发展的难题,大量数据流请求使得数据库服 务器必须尽快提供数据处理服务。由于硬件和操作系统等软 件的原因,当大量的访问到达时,服务器不能够及时处理所 有的请求,造成应答延迟。尽管计算机学术界已提出使用各 项算法实现负载均衡(Load Balancing)与虚拟服务器集群 等技术用以解决该问题,但仍存在诸多弊端,如DNS负载均 衡技术无法按照Web服务器的处理能力分配负载,可靠性不 强,集群服务器的高成本与能量消耗问题。随着Google推 出云计算[1]概念,大量云计算中心在各地落成,云存储[2] 成为一种新兴的网络服务器技术,在实际应用中,结合云存 储的处理特点,使用Hadoop搭载平台,合理利用一致性哈 希算法(Consistent hashing),可以较好的解决上述问题。 1云存储与负载均衡机制 1云存储的特点 作为云计算的延伸,云存储采用基于对象存储[3-5]的 分布式非对称架构,是一个具有高可靠性、高性能、高扩展 性的分布式存储系统,能提供高吞吐量的数据访问、在线存 储和在线备份。其应用前景十分广阔,云存储系统的体系架 构如图1所示。 图1 除此之外,云存储还拥有易操作性,后台对用户透明等 特点,用户只需通过Web-based应用程序,即可上网直接存 取数据,实时面对需求。从广义讲,任何基于Web的服务都 可称之为云服务。 由于云计算采用分布式存储方式来存储数据,需要将分 布式应用部署到大型廉价集群上,从而实现对海量数据信息 的存储,所以从本质上讲,云存储仍是一种基于服务器集群 模式的系统模型,称之为云存储模型[6]。 1.2云存储的负载均衡机制 在云存储环境中,存储设备数量庞大并多分布在不同的 地域,如何实现多台设备间的存储虚拟化管理、最优化利用 存储节点,使各服务器有效协同提供服务,便成了云存储发 展环节中的重中之重。 在云存储模型中,云存储可将工作量均匀分配到不同的 存储服务器上,避免个别存储服务器因工作负荷过大造成瓶 颈,使存储系统能够发挥最大效能。 2 一致性哈希算法在云存储中的应用 2.1服务器分布式缓存问题 由于云存储可以看做网格计算演化,可伸缩性强,所以 能够随机应变的提供资源与服务,利用这点构建相对平衡的 系统,需要每个节点参与管理,而如何才能结合现有算法, 实现平衡稳定的服务器模式呢? 举例说明,假设有虚拟服务器M台,需要映射对象OBJ 至M台存储上,一般来讲,我们会采用hash (OBJ) %M的方 法计算OBJ的hash值,然后将其均匀映射给N个存储,此 为正常状况。 而在实际应用中,我们需要考虑,当服务器访问量加重 时,需要添加存储设备,此时公式演变为hash(0BJ)%(M-l)o 而当其中一台服务器N失效,此时映射至服务器N的对 象失效,公式即演变为hash (OBJ) % (MT)。 在实际应用中,一旦出现如上情况,服务器的存储分配 机制就会全部失效,庞大的信息流将直接冲击后台服务器, 造成严重后果。 为避免这种事故,需要hash结果保证原有已分配的内 容不被映射至旧缓冲集合中的其他缓冲区,上面提到的简单 hash算法显然无法满足单调性要求。 2.2 一致性哈希算法的应用原理 一致性哈希算法(Consistent Hashing)最早在David Karger, Eric Lehman等人的论文中被提出,是当前较主流 的分布式哈希表协议之一,对简单哈希算法进行了修正。 透过一致性哈希,我们可以实现处理服务器的选择不再 仅仅依赖key的hash本身,而是将服务实例(节点)的配 置也进行hash运算。 首先我们求出各服务节点的hash,将其配置到一个0? 的圆环(continuum)区间上。其次使用同样的方法求出 你所需要存储的key的hash,也将其配置到这个圆环 (continuum)上。然后从数据映射到的位置开始顺时针查 找,将数据保存到找到的第一个服务节点上。如果超过2仍 然找不到服务节点,将会保存至第一个memcached服务节点 上,数据图例如下: 图2 当服务节点增加时: 图3 一致性哈希算法最大程度的避免了 key在服务节点列表 上的重新分布,其他附带的

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档