看完了google的GFS论文,趁热打铁写下了一点点读后感
1.果然和HDFS设计一样
2.比较擅长处理连续读大文件的情况,对于随机读和频繁读取小文件则有短板,这与GFS的目标有关,它的目标是索引全球网页,这非常符合google的需求
3.文件块被存储在linux硬盘上,GFS只是一个管理器而已,哪些文件操作API也只是个对这些抽象文件的管理而已。
4.Chunk Server之所以没用缓存是因为借用了linux的系统级缓存机制
5.Master和Chunk Server的心跳是由Master主动发起的
6.GFS的局部过热:初期上线时单一chunk同时被几百台机器并发访问造成了局部过载,google使用更大的冗余参数和错开并发解决了这个问题,GFS论文作者建议增加客户端从另一个客户端读取Chunk的机制,这是个好办法,个人认为通过自动扩容的冗余机制,定期收缩的机制也可以解决这个问题,但仍然不如GFS作者的从另一客户端读取的方式来的巧妙。
7.文件的读取流程,客户端根据文件名和字节偏移量计算出chunk索引,并把文件名和chunk索引发送给master,master返回chunk标示和副本所在位置清单,客户端缓存文件名和副本所在位置,然后客户端会向最近的的chunk server发送chunk标示和字节范围并得到数据。