谷歌三驾马车GFS

Google File System: 

Intro reference: http://blog.jobbole.com/83500/

http://blog.csdn.net/opennaive/article/details/7483523

Best Video: https://www.youtube.com/watch?v=WLad7CCexo8

微信分布式系统:http://www.iteye.com/news/32340

初学GFS, 做笔记整理一下。

用一大堆便宜的Linux 电脑来当底层Server。

结构:

首先是普通情况下保存一个大文件的方法。 用一个索引Index来知道在硬盘的哪个位置有什么东西。

对于超大数据存放,比如几百万的文件的话。我们可以分成好几个chunk server. 每个chunk server可以简单的理为一个廉价linux电脑。然后由一个Master server, 一个老大来做索引。首先能够知道文件在哪个chunk server上,先去那个server,然后再让chunk server从它自己的index里找东西。

server里的东西有可能会崩,所以要有一个办法来check chunk server里每一个block里的data是对的。 用checksum 来检查有没有坏。 


为了防止server crash,数据要进行备份。每个文件要复制在3个server里。


判断chunk server有没有挂掉用的是心跳。 每个server定期给Master发信息说我还活着,如果有一个server很久没发,它估计就是挂了。【为了防止网络不通的原因,可以叫附近server去问候他一下看看还活着吗】

用户读取文件过程是写法请求给Master, Master返回说你要找的东西在哪个chunk server里,并给你权限。然后用户再去chunk server里找数据。

当出现很多请求到同一个server的时候, Master可以做一个Load balance,根据每个server的内存空间,bandwidth等等做一个分配。

写入文件过程: 每次写入需要更新所有的备份server。 所以当用户说我要写东西,Master会返回所有的chunk server with 要写入的file。然后用户的写入会更新所有的server里的内容。




了解完GFS,我还是对于Paxos分布式系统和GFS的联系不是很懂。都是分布式,有什么联系?

看到一个文章说:似乎是Paxos主要是用在保证分布式系统的数据一致性而使用的算法。然后似乎每个chunk server都可以当Proposer和voter。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 分布式文件系统的主要功能有两个:一个是存储文档、图像、视频之类的Blob类型数据;另外一个是作为分布式表格系统的持...
    olostin阅读 8,746评论 1 5
  • 本博客在http://doc001.com/同步更新。 本文主要内容翻译自MySQL开发者Ulf Wendel在P...
    doc001阅读 6,397评论 0 3
  • 夏雨薇分手了,恋爱不到三个月,她就和许鹏掰了。 夏雨薇和许鹏是无机专业的,大三的时候学校安排他们去景德镇陶瓷厂实习...
    思绪云骞阅读 3,474评论 0 1
  • 夜晚来临的时候,我只为能睡着,只为能好好睡着! 2017-8-22 01点 小雨 ...
    简秋清心阅读 2,662评论 3 2
  • 【威哥说】5月4日开班以来,1605期的学员们已经进入的Android项目实战阶段了,今天给大家带来的是第一个项目...
    磨砺营阅读 4,624评论 0 1