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到此结束。

责任编辑:潘威

为您推荐

IBTC2011王松:CDN与CLOUD云服务在广电三网融合背景下的应用

DVBCN讯2011年6月7日-8日白玉兰国际广播影视技术论坛(IBTC)在上海大宁福朋喜来登集团酒店举行。IBTC2011是第17届上海电视节的重要学术活动之一。本届论坛将围绕“云技术与广电三网融合”这一主题,展开全国性的、权威性的研讨。DVBCN数字电视中文网作为本届论坛的独家支持媒体将对“IBTC2011”进行全程播报。点击进入专题在本届IBTC2011“云技术与广电三网融合”论坛上,北京蓝汛通信技术有限责任公司CEO王松发表演讲的主题为《CDN与CLOUD云服务在广电三网融合背景下的应用》。

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

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

移动互联网将推动电视产业的变革

目前有30多人的技术团队和10多人的运营团队。手机电视两种不同的运营思路中国移动有个手机视频的客户端,这个客户端本人曾经体验过,对这个产品的感觉并不好,这个软件走的是中国移动WAP的网络,是运营商的网络,其目的就是想把用户固定在自己的网络上,不断的推出自己的服务,增加自己的粘附性。而且最让用户郁闷的是当有WiFi时并不能使用,而且对于那些3G用户来说同样不能使用。手机电视采用的是互联网的方式,国外的用户只要有网络同样可以观看。如果用户对流量费用有顾忌的话,可以选择在无线的情况下观看,非常的方便。据张总介绍,手机电视完全采用的是互联网的方式,用户任意选择登陆的网络,

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

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