java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2394|回复: 0

《大规模分布式存储系统》 第4章 分布式文件系统【4.4】

[复制链接]
  • TA的每日心情
    开心
    2021-5-25 00:00
  • 签到天数: 1917 天

    [LV.Master]出神入化

    2062

    主题

    3720

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66592

    宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2017-3-3 20:37:17 | 显示全部楼层 |阅读模式
    4.4 内容分发网络7 e$ U2 H7 D" h- i% E9 G
    CDN通过将网络内容发布到靠近用户的边缘节点,使不同地域的用户在访问相6 G- m5 P' {% H9 B, `
    同网页时可以就近获取。这样既可以减轻源服务器的负担,也可以减少整个网络中7 |, G4 A) Q  f* f0 R- N/ N
    的流量分布不均的情况,进而改善整个网络性能。所谓的边缘节点是CDN服务提供' ?" `% q9 ~+ _/ l6 k
    商经过精心挑选的距离用户非常近的服务器节点,仅“一跳”(Single Hop)之遥。用3 y' Q- m6 L" _6 S' G- \7 U! w4 k4 R
    户在访问时就无需再经过多个路由器,大大减少访问时间。9 e* O# k/ }- s8 A' g3 o( l
    从图4-9可以看出,DNS在对域名解析时不再向用户返回源服务器的IP,而是返
    6 Y; }: @$ ~7 _/ [# O回了由智能CDN负载均衡系统选定的某个边缘节点的IP。用户利用这个IP访问边缘节4 A5 v* ]+ `' A4 V) v, v
    点,然后该节点通过其内部DNS解析得到源服务器IP并发出请求来获取用户所需的页' x/ _% a3 @7 r9 e1 F8 [% a
    面,如果请求成功,边缘节点会将页面缓存下来,下次用户访问时可以直接读取,, M/ N+ [/ c' \% d1 `0 S4 s3 V' X
    而不需要每次都访问源服务器。
    2 R9 ~, H0 w0 z' M6 |图 4-9 用户访问CDN的整体流程* e5 Y; f# k) \& n( R
    4.4.1 CDN架构
    3 [3 e# e: W" q" c淘宝CDN系统用于支持用户购物,尤其是“双11”光棍节时的海量图片请求。如
    ! a1 ]# Y. k5 f' d- |! h" e9 [# P图4-10所示,图片存储在后台的TFS集群中,CDN系统将这些图片缓存到离用户最近
    ) w  s7 P5 B' B- M的边缘节点。CDN采用两级Cache:L1-Cache以及L2-Cache。用户访问淘宝网的图片2 J  N! g& g; A' _' o& _
    时,通过全局调度系统(Global Load Balancing)调度到某个L1-Cache节点。如果L1-. k, @6 s# W& S
    Cache命中,那么直接将图片数据返回用户;否则,请求L2-Cache节点,并将返回的) l- y) N0 t' P8 ?& O' ~- Q
    图片数据缓存到L1-Cache节点。如果L2-Cache命中,直接将图片数据返回给L1-Cache
    , I; B) q4 S' G$ W+ J2 b节点;否则,请求源服务器的图片服务器集群。每台图片服务器是一个运行着Nginx& @2 G3 t5 y5 A3 [- A3 f
    的Web服务器,它还会在本地缓存图片,只有当本地缓存也不命中时才会请求后端的  j2 L; r  w6 W  N; f% D
    TFS集群,图片服务器集群和TFS集群部署在同一个数据中心内。$ ^1 G$ L, v- R& v! d4 u" S! R! G
    图 4-10 淘宝网CDN整体架构0 l& `0 z9 ]9 C, [6 p5 @! o3 [
    对于每个CDN节点,其架构如图4-11所示。从图中可以看出,每个CDN节点内# z  h2 e$ m& Z2 Y" u
    部通过LVS+Haproxy的方式进行负载均衡。其中,LVS是四层负载均衡软件,性能
    ! u2 d! |8 C# Z好;Haproxy是七层负载均衡软件,能够支持更加灵活的负载均衡策略。通过有机结, J# t6 {# g3 ]0 O6 `
    合两者,可以将不同的图片请求调度到不同的Squid服务器。
    , i* g  n" x, b0 s. F5 i( L图 4-11 淘宝网单个CDN节点架构
    + Y! S- z( X  {9 xSquid服务器用来缓存Blob图片数据。用户的请求按照一定的策略发送给某台
    0 A" P1 a; u8 V$ LSquid服务器,如果缓存命中则直接返回;否则,Squid服务器首先会请求源服务器获" o9 T# K5 q% F, [: l
    取图片缓存到本地,接着再将图片数据返回给用户。数据通过一致性哈希的方式分
    5 R5 f2 k  U5 A) Y( [' @布到不同的Squid服务器,使得增加/删除服务器只需要移动1/n(n为Squid服务器总
    ; d) t& s, l& U% \" F数)的对象。% y0 B6 t7 s' p0 {, k4 i+ P! ?  j. R
    相比分布式存储系统,分布式缓存系统的实现要容易很多。这是因为缓存系统
    8 O3 t: X8 H# P不需要考虑数据持久化,如果缓存服务器出现故障,只需要简单地将它从集群中剔
    ( G1 E$ z" u! Q  T/ V除即可。4 P; W) {% p1 m) m2 {- n
    1.分级存储
    & R4 [  B& B1 i+ v4 f* k! Z! v0 |分级存储是淘宝CDN架构的一个很大创新。由于缓存数据有较高的局部性,在
    3 P  R' d% ]6 @) ESquid服务器上使用SSD+SAS+SATA混合存储,图片随着热点变化而迁移,最热门的
    4 u/ _3 y3 [3 S7 z+ B存储到SSD,中等热度的存储到SAS,轻热度的存储到SATA。通过这样的方式,能
    0 `$ _. ^( a# x: p够很好地结合SSD的性能和SAS、SATA磁盘的成本优势。) e* F  y3 F1 l; v( {
    2.低功耗服务器定制- N. d% B7 |. A; m6 D7 Q/ Y$ e$ L
    淘宝CDN架构的另外一个亮点是低功耗服务器定制。CDN缓存服务是IO密集型
    4 l4 a/ R" f4 `" W& f而不是CPU密集型的服务,因此,选用Intel Atom CPU定制低功耗服务器,在保证服7 {6 }" W, b2 v3 {5 {+ W3 ]9 E
    务性能的前提下大大降低了整体功耗。
    " K  p# g7 d* j% S4.4.2 讨论
    # H. c# l6 S' v9 R7 B由于Blob存储系统读访问量大,更新和删除很少,特别适合通过CDN技术分发1 z/ O# e9 g1 `) P7 g2 @
    到离用户最近的节点。CDN也是一种缓存,需要考虑与源服务器之间的一致性。源
    1 i- h/ H9 r9 ?/ A2 f( ?服务器更新或者删除了Blob数据,需要能够比较实时地推送到CDN缓存节点,否则
    9 c: y7 {+ Q. h0 p: m只能等到缓存中的对象被淘汰,而对象的有效期一般很长,热门对象很难被淘汰。
      m$ }$ g' [  A% N& A4 H, }另外,淘宝在研发CDN的过程中也发现,随着系统的规模越来越大,商用软件
    * ^' ]4 u( G4 z, I+ Z) F0 x$ B往往很难满足需求,通过采用开源软件与自主开发相结合的方式,可以有更好的可8 h* f& Z* S- |: ?
    控性,系统也有更高的可扩展性。互联网技术的优势在于规模效应,随着规模越来$ q! ?6 O* z/ {6 n9 j
    越大,单位成本也会越来越低。- N" q, W& p3 Y7 t1 a$ j. V
    当然,随着硬件技术的发展,淘宝CDN架构也经历着变革。例如SSD价格快速
    % B# Q) T4 B1 E下降,使得SSD+SAS+SATA分级存储的优势不再明显,新上线的CDN缓存节点配备6 q1 i$ M2 Z" V/ s8 K% Z( V: c3 y
    的磁盘均为SSD9 p0 |* F. A: n; P6 ]  ]% F; n7 D" \

    # R4 J( s4 ~: C/ q; U5 f. p5 j3 u7 j, g
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Java自学网

    GMT+8, 2025-2-23 11:50 , Processed in 0.119418 second(s), 29 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

    快速回复 返回顶部 返回列表