CDN缓存服务器图片存储一致性hash算法的理解

2018-08-29 11:25:13 来源: 云栖社区 作者:提利 热度:

用hash做缓存,假如有三台服务器,1,2,3,有三万张图片,我想将图片平均缓存到我三台服务器上,一个服务器大概一万张,怎么去实现这个办法呢,可以用hash来取余数进行操作,加入我们是以图片的名字作为key进行hash计算,hash (图片名称)%N 其中N为我们服务器的个数,我们将hash(图片名称)这一部分进行计算后得到的是一个正数,然后除以服务器的数目进行取余数,结果将会是0,1,2三个数,对应我们的服务器的编号,当我们作为客户端去请求图片的时候,图片已经进行过hash运算了,直接找到对应服务器的编号进行图片的访问,这样解决了我需要遍历所有的服务器进行查找。

  那如果我缓存的服务器的数量减少或者增加,如果还是按照原来的算法走,必定会造成缓存数据的丢失,会去向后端的服务器去请求,如果有一台缓存服务器发生了故障,那我原来缓存的位置必定会发生改变,原来本该运算后要进行缓存到某一台服务器的图片,现在找不到对应缓存服务器,肯定会发生缓存的雪崩

  所以出现了一致性hash算法相当于将服务器和图片分别hash到我的hash环上进行就近缓存,hash环就是对2^32次方进行取模,从0开始一直到2^32,均匀分布在一个圆环(一个比方),0的顺时针方向的第一位为1,逆时针方向第一位为2^32,大概如下图

  具体就是比方我有三个服务器A,B ,C对其进行 hash (服务器Aip)%2^32 得出来的一定是一个整数,而且一定是在0--2^32之间,那么这个数就会分布在hash环上对应的位置,相同的B,C都一样,假设我们hash过后ABC的位置如下图

  然后我们将需要缓存图片的key进行hash,它的hash值也会分布在我的hash环上,

  如上图,我hash到了A和C之间,图片的存储规则是顺时针方向的存储,所以应该存储到A,如果有四张的话如下图

  那如果我们的hash算法将服务器和hash的图片存放位置比较相近,类似于;

  所有的缓存都集中存储到了A一台,只有5到了B,那么这样A的压力就不言而喻,没有均匀可言了,辛亏hash环可以添加缓存服务器的虚拟节点,类似于虚拟机,一台实机可以虚拟多台,类似于这样:

  这样的话就会尽可能的把缓存都均衡放在各个服务器

  一致性hash算法的优势在哪:一个是当我有一台缓存节点挂了之后,缓存的存储不会受太大的影响,

  我们将b节点拿走,本来要在B节点存储的3,因为找不到B服务器,而遵循规则缓存到C,而4的缓存节点不会发生改变,这就是一致hash的优点,如果发生服务器的增加或者减少只有部分的缓存会失效,不造成全盘皆输的可能

  一致hash到此结束。

责任编辑:潘威

相关推荐

CDN让网络访问体验日趋完美

近日,艾肯家电网签约国内知名的CDN网站加速服务提供商北京快网,北京快网将为艾肯家电网提供提全站CDN加速服务。记者了解到,目前国内比较大的门户网站为现实网站的高速访问,早已使用了CDN网络加速。目前,包括腾讯、新浪、搜狐、网易、酷六、红袖添香等众多网站都采用了北京快网的CDN网络加速服务这一服务。据《中国互联网年度综合报告2009-2011》数据显示,预计至2011年互联网市场规模将达到1300亿,互联网总用户数将达到6亿。网民数量的持续提升同时也让互联网服务发展如火如荼,视频、SNS、垂直网站等新兴网站层出不穷,在带来全新商机的同时,也让互联网带宽、服务器等资源捉襟见肘。而CDN服务提供商

传雅虎董事会成员肯尼有意竞选CEO

9月29日消息,据国外媒体报道,雅虎董事会成员、国际上最大的CDN服务商Akamai总裁大卫·肯尼(DavidKenny)公开表示有意竞选雅虎CEO。国际上最大的CDN服务商Akamai总裁大卫·肯尼知情人士透露,肯尼目前还在管理Akamai的业务,但确定要公开竞选雅虎CEO。该人认为,肯尼对雅虎内部发生的一切非常清楚,知道自己在干什么。昨天,肯尼曾与雅虎产品团队工作人员进行数小时长谈。近日,他还曾与包括私募公司在内的雅虎投资方、股东交换了意见。某科技媒体认为,肯尼适宜担

优酷数据中心:要“优”不要“酷”

提起优酷,喜欢看网上视频的人大概没有不知道的。创办于2006年的优酷,因着“快者为王”的产品理念,以“快速播放,快速发布,快速搜索”的特性,满足了互联网用户日益增长的多元化互动需求,从而成为国内视频网站中的领军企业。支持优酷实现快速、优质用户体验的,是优酷背后强大的数据中心和IT技术能力。据优酷CTO姚键介绍,优酷每年的数据增长率大概都在50%。为了应对不断增长的巨大流量带来挑战,2010年,优酷对位于北京的主数据中心进行了改造。简化的二层网络姚键表示,由于优酷提供的视频业务对网络设备提出了时延小、可大规模扩展的要求,因此对网络交换设备的选型十分重要。考虑到主数据中心的战略地位,网络规划设计需

10大前沿运营商级网络技术

本文介绍介绍了10大前沿运营商级网络技术:GPON,云计算,云手机,CDN,集装箱数据中心,高压直流供电,蒸发式冷却,风光互补基站,RFID。一、GPONGPON技术发源于1995年形成的ATMPON(既APON),最早由FSAN标准组织提出,经ITU-T指定,2004年形成最终标准。一直与EPON处于竞争地位。在亚太地区一直被压制,2010年开始发力,目前新增份额已经开始超越EPON。中移动专宠GPON,中电信、中联通也开始青睐GPON。GPON为运营商提供了更大的分光比、2倍于EPON的下行带宽,在FTTH中优势尤为明显。中国移动研究院网络研究所所长助理李晗——“GPON的DFB+APD提