FastDFS

        FastDFS主要功能包括文件存储,文件同步和文件获取(上传和下载)。它可以解决超大容量和负荷均衡的问题。FastDFS可以满足网页上多用户对同一地址的图象和视频访问需求。
        FastDFS具备两个角色,tracker和storage。tracker是负责文件获取中的调度和均衡。storage则存储文件,以及包括文件存储、文件同步和文件获取接口相关的文件管理。同样能够管理文件中表示key-value对的元数据。比如width=1024,key就是width,value就是1024。
        tracker和storage可以包括一个或多个服务器。tracker和storage的服务器集群可以在影响在线服务功能超时时自动增加或删除。tracker集群的服务器是端到端的。storage服务器被组织成文件卷/文件组以获取高可用性。storage系统包含一个或多个文件可以独立存在其中的卷。整个storage系统的存储容量等于所有的卷容量之和。一个文件卷包含一个或多个storage服务器,里面的文件是相同的。这些属于同一个卷相互备份的服务器,还可以不断的进行负荷均衡。当增加一个storage服务器到一个卷,文件自动从已经存在的服务器迁移复制到新的服务器上。当复制完成后,系统将切换该服务器上线,使之提供在线存储服务。当整个storage能力不足时,你可以增加一个或多个卷扩展存储容量。为了达到这个目的,必需增加一个或多个storage服务器。

        区分一个文件的标识符分为两部分,卷名和文件名。

       上传文件交互过程:
       1. client询问tracker上传到的storage,不需要附加参数;
       2. tracker返回一台可用的storage;
       3. client直接和storage通讯完成文件上传。


       下载文件交互过程:
       1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
       2. tracker返回一台可用的storage;
       3. client直接和storage通讯完成文件下载。


       以上为翻译相关文档,简评一下。该设计思路与Glusterfs有些类似,虽然Glusterfs号称无元数据管理,其实也是有集中管理的元数据。fastDFS这些基本功能在Glusterfs中均有体现,但没有采用Glusterfs中复杂的translator设计各个模块。本人估计,按GOOGLE的一贯思路,必然是对Glusterfs设计作了相应的简化,并对自己可能的应用进行有针对性的优化。下面会继续看看代码实现细节。

        补充:该实现并非GOOGLE出品,而是标准的国产——淘宝出品,比较吃惊,原来国内也能看到这样的开源产品。本人也从事IT十年,却没有写出类似的产品,十分惭愧。余庆为我们这些IT人树立了榜样。

参考文档:

http://bbs.chinaunix.net/thread-1920470-1-1.html

http://www.programmer.com.cn/4380/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值