免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2728 | 回复: 1
打印 上一主题 下一主题

[FastDFS] FastDFS原理分析系列文章 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-12-22 10:17 |只看该作者 |倒序浏览
      FastDFS文档很少,只能找到一些宽泛的架构文档,以及ChinaUnix论坛上作者对网友提问的一些回答。对于要将FastDFS应用到生产系统来说,这点了解绝对是不够的。
      这段时间研究FastDFS源码,并且做了大量的性能测试,中间也做了大量的笔记,基本上把程序的结构与主要的操作摸索清楚,因此写了一些文章即是对前段工作的总结,同时也分享给想更多了解FastDFS内部的同行们。这里对每篇文章做个介绍。

      这篇文章地址:
      欢迎大家一起学习讨论,非常感谢鱼大大开源的这个项目。
      另外关于合并存储的设计缺陷,也请鱼大大关注下,该问题的重现详见第八篇文章。
      由于存在的这种缺陷,我觉得在上传系统上使用合并存储功能需要十分谨慎。

1、机器之间的同步
      Storage之间的同步可能是大家首先关心的了,这篇文章做了详细的介绍,最后我还写了注意事项,主要是性能方面的。
《FastDFS之Binlog同步》

2、添加新机器同步
      大家可能不怎么会注意到这部分,但是其实很重要。在实际的生产系统,坏掉一台机器,或者为了读压力而增加机器,等都是很正常的。在一个运行的系统上添加一台机器涉及到存量文件的同步与融入到系统中,下面这篇文章做了详细的回答。
《FastDFS之添加机器同步》

3、磁盘恢复
      线上机器坏个磁盘算是个大概率事件了,换了一个新磁盘,问题来了,数据怎么恢复啊。不用急,重启下Storaged,他会检测到并进行恢复,虽然恢复时间可能要很长(数据量大时),这篇文章对这个功能做了说明。
《FastDFS之磁盘恢复过程》

4、Storaged程序结构
      到此处Storaged主要的功能点已经讲述了,或者你还想知道程序内部是如何组织的,线程之间的协调等信息,请看这篇文章。
《FastDFS之Storage程序框架》

5、Client与Tracker的通讯
      现在是时候从客户端角度来端详下Tracker了,因为不管是上传、下载、删除等操作都需要先查询Tracker。那么这些查询Tracker是如何计算,并返回的呢?请看本篇。
《FastDFS之客户端与Tracker通讯》

6、合并存储
      海量小文件导致性能下降,可能大家都听说过。福音是FastDFS通过合并小文件成大文件的方式来规避这个问题。FastDFS是如何实现这个功能的,详细请看这里。
《FastDFS合并存储原理分析》

7、Tracker-Leader选举
      看过了《FastDFS合并存储原理分析》这篇文章后,对于其中提到的Tracker-Leader如何选举可能会好奇,通过这篇文章你会看到Leader的选举过程。
《FastDFS之Tracker-Leader选择》

8、合并存储设计缺陷
      对于FastDFS合并存储功能不得不面对一个问题,在某些情况下会导致数据错误或丢失。你在看《FastDFS合并存储原理分析》这篇文章时可能已经发现了,现在让我们完完整整地重现下这种错误的出现,请看。
《FastDFS之合并存储缺陷导致数据丢失或错误》

论坛徽章:
0
2 [报告]
发表于 2014-12-22 10:22 |只看该作者
本帖最后由 chang290 于 2014-12-23 10:52 编辑

由于ChinaUnix不允许外链的URL,因此此处无法提供链接。
可以使用百度搜索《FastDFS原理系列文章》即可得到实际上的文章链接。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP