蜻蜓
提示 登录 注册 提示 35908/0 09年7月6日 周一 6点59分 站标
从六品上:奉议郎|振威校尉级别

认证会员
头像 积分:84134 乐善:1135 声望:4600
离线/隐身 邓侃 家园博客 发短信
注册于:2008-07-18 00:29:07
大类:[科技经济] → 版面:[信息技术]
3016/14 转发回复分页全看树展 引用1 送花360收藏:4工具
o【原创】闲话Google集群 [3] 布局 [ 邓侃 ] 于:2008-09-02 20:57:27
[1] 引子 链接出处
[2] 存在的理由 链接出处

[3] 布局

系统架构设计,以我个人体会,可以分为几个方面,机器和网络布局,数据流组织,控制流组织,负载均衡,线程规划,数据同步,数据恢复,系统安全和系统健康状态诊断等等。成为架构设计高手很难,但是入门并不那么困难。

我们不妨以Google File System(GFS)作为一个案例,逐一解剖这个系统的架构设计的各个方面。在分析完GFS以后,再解剖分析Google的分布式数据库,Bigtable的架构设计。如此分析多个系统的架构后,或许大家对系统架构设计就会有一个比较清晰的了解,我们的讨论也就会更深入,更有趣。

为什么要实现Google File System?最根本的原因,是因为要存放的数据的规模太大,以至于任何一台PC放不下,所以需要一个集群的PC来完成这个任务。数据的规模太大,也许是因为数据文件的数目很多,也有可能是因为单个文件的尺寸太大,也有可能是不仅单个文件的尺寸大,而且大尺寸的文件数目多。

设想一下,如果要存放的数据的规模是5000G,而一台PC的硬盘空间是500G,那么我们可以把数据分成十份,分别存放在不同的PC上。但是问题是如果我们要读取某个文件时,我们怎么知道这个文件在哪个PC里呢?有两个办法,

1. 逐个访问每个PC。但是这样的效率会比较差。

2. 另外再设一个PC,这个PC里存放着一个目录,专门记录哪些PC存放了哪些文件。这样的做法,好处是效率高,缺点是额外占用更多PC。

图一显示了这个布局。作为文件系统,主要功能无非是,1. 存放文件,2. 读取文件。
点看全图

存放:网络爬虫(Crawler)下载了形形色色的网页后,把这些网页发给存放目录的PC,简称目录服务器(master)。目录服务器决定用哪个PC来存放这些网页,简称数据存储器(ChunkServer)。

读取:等到有人想读取某个文件的时候,他可以向目录服务器发出请求,后者做以下几件事情,1. 先查询目录,确定文件存放在哪个机器,2.去目标机器读取所需文件,3. 把该文件返回给用户。

这个设计有以下几个主要问题。

1. 是否有必要占用额外PC,专门用来做目录服务器?譬如可以在数据存储器中,拨出一部份硬盘空间和内存,来存储目录。

   这个办法是可行的,缺点是占用了一部份本来用来存放数据的硬盘以及内存空间。

   另外一个缺点是,目录服务器通常很忙碌。如果存放文件甲的PC,同时兼做目录服务器,那么读取文件甲的速度,可能会低于读取其它文件的速度。

2. 无论存放还是读取文件,都必须经过目录服务器。数据存储器很多,但是目录服务器只有一个,千军万马过独木桥,目录服务器成为瓶颈。

   解决办法是优化数据流的组织,我们在以后的章节中深入探讨。

3. 负载不均衡。譬如前一段时间,有关奥运会的文件被频繁读取,存放那些文件的数据存储器负荷很重。同样,存放某些经常被调用的程序的数据存储器,负荷也比其它机器重得多。
   解决办法是优化负载均衡,甚至动态优化负载均衡,我们在以后的章节中深入探讨。

4. 万一某个数据存储器死机了,就会造成一部份数据无法读取。

   解决办法是备份。把同一份文件,同时存放在多个PC上。当一台甚至多台PC死机了,只要还有一台PC正常工作,就可以正常读取文件。

图二显示了三个备份的布局。
点看全图

这个布局有什么缺陷?且听下回分解。

关键词(Tags): 网络 Google 集群 互联网 操作系统
老马丁 荐,
3016/14/0 转发回复分页全看树展 引用1 送花360收藏:4工具
引用(1) 请拷贝:
※※※ 相关(回复)帖 ※※※
O 【原创】闲话Google集群 [3] 布局(邓侃;字2933 阅3016 花36 O
O 不错,方便了我等懒得看英文paper的人 (jet;字145 阅701
。。O GFS,BIGTABLE,MAPREDUCE都思路很简单 (黑色枪骑兵;字267 阅823
。。。O 所言极对 (邓侃;字300 阅629
。。。。O which paper? (mpc8240;字62 阅586
。。。。。O Google解剖学论文 (邓侃;字561 阅617 花1
。。。。。。O 拆开来看,每个部件都很普通 (美人他爹;字190 阅524
。。。O 同意 (jet;字30 阅530
... 共 》14《跟帖
广告 购物分成,帮助网站

大厅。自动刷新完整聊
申请认证/群落(10)[查看或表达看法]
少裳
九三年
waribec
marssss
酸酸
王友
丰南隐士
与虎谋皮
皮儿
海月
童谣我要添加 更多
  • 王婆婆,会烧茶
    三个观音来喝茶
    后花园,三匹马
    两个童儿打一打
    王婆婆,骂一骂
    隔壁子幺官儿说闲话
    ——四川童谣,还有手部动作配合 [蛇公子]
  • 摇啊摇,摇到外婆桥
    外婆叫我乖宝宝
    糖一包,果一包,还有汤圆和年糕~ [nbxx]
  • 麻屋子,红帐子,里面住了个白胖子。 [山远空寒]
  • 小兔子乖乖,把门开开,快开快开,妈妈要进来。 [Rainny]
  • 一二三四五,山上打老虎,老虎不吃饭,专吃大坏蛋。 [编程浪子叶开]

Copyright © cchere 西西河 feed 西西河规 版主规范 帮西西河 帮助(FAQ) 版面介绍 发帖特殊效果 网站地图 关于西西河