分布式文件系统 FastDFS

GPLv3
C/C++ 查看源码»
Linux
阿里巴巴
2008-10-07
happyfish100

FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。

存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。

FastDFS系统结构如下图所示:


跟踪器和存储节点都可以由一台多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。


为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷 的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起 到了冗余备份和负载均衡的作用。

在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。

当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。

 

                               FastDFS file upload

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

 

                         FastDFS file download

下载文件交互过程:

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

需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。

的码云指数为
超过 的项目
加载中

评论(24)

LittleBT
LittleBT
搭建起来有点麻烦,不过相当给力!
Alexshu01
Alexshu01
请问怎么上传文件夹啊?
G
Gine_Zhou
http://www.csource.org/
大饼69221
大饼69221
http://www.csource.org/ 域名访问不了
p
philhong
http://www.csource.org 打不开。。蓝瘦
云飞扬11
云飞扬11
http://www.csource.org/这个怎么访问不了?
劢劢
劢劢
#FastDFS# 哪儿有文档啊,网站打不开了
Minho
Minho
文档呢?
孟德宣
孟德宣
Ryan-瑞恩
Ryan-瑞恩
make

分布式文件系统 FastDFS V5.02 发布!!!

FastDFS V5.02 发布, 现已提供下载,主要修复了几个 bug,另外同步了易到用车消息推送平台项目中对 libfastcommon 库的修改。 主要的改进内容如下: * 修正了 README 里面的拼写错误 * Bug ...

2014/07/28 15:22

FastDFS 5.0.0 发布,分布式文件系统

鱼大的轻量级分布式文件系统 FastDFS 5.0.0 发布。2013-12-22 小文件如图片,静态资源文件存储首选。连京东首页都已使用FastDFS了。上个版本是 2013-11-30 的 4.0.8. 主要就是去掉了对 libe...

2013/12/23 11:15

FastDFS 4.05 发布,分布式文件系统

FastDFS v4.05 发布! 主要改进: C和PHP扩展支持连接池; 文件同步时,保持文件修改时间一致; 获取当前时间采用全局变量,而不是直接调用time函数,用cdn的同学赶紧更新吧,鼻涕。。。 详情...

2013/01/01 19:46

FastDFS 4.03 发布,分布式文件系统

FastDFS v4.03 发布! 主要改进: 文件ID中支持包含源storage server ID。 由tracker.conf的如下两个参数决定:use_storage_id和id_type_in_filename。 详情参见源码中自带的tracker.conf示例...

2012/11/18 22:49

FastDFS 4.02 发布,分布式文件系统

FastDFS v4.02发布!主要改进:支持日志轮转,fdfs_monitor支持设置trunk server。 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上...

2012/10/29 09:51

FastDFS 4.01 发布,分布式文件系统

FastDFS刚才发布了V4.01。主要是几点小改进。最主要的改进是扩展了trunk server资源释放(destroy)时的标志,以避免destroy时间较长可能导致的访问冲突问题。 FastDFS是一个开源的分布式文件...

2012/10/21 10:32

没有更多内容

加载失败,请刷新页面

没有更多内容

2
回答
Windows Server如何部署FastDfs?

公司因业务需求,需将centos服务器替换为windows server服务器,请教FastDFS在windows server如何部署(暂不考虑安全就性...

2018/12/26 10:45
1
回答
file: tracker_proto.c, line: 48, server:xxxxxx:23000, response status 17 != 0

@余庆 你好,想跟你请教个问题:我装好了tracker,storage,全部配置内网地址的时候,在服务器上上传,下载文件都没有任何问题, 很顺利.但我用个...

2017/01/13 16:53
6
回答
图片服务器搭建
Feng_Yu 的回答 2018/06/27 18:02
最佳答案
直接用现有的云服务,比如阿里云OSS或者七牛,都带有图片处理的功能,而且价格也很便宜
3
回答
FastDFS上传文件后,nginx短时间404

目前搭了一个fastdfs集群,多group,一个group两台机器,通过nginx进行负载反向代理到group服务器上,再过nginx的mod找图片。 ...

2018/04/09 11:32
4
回答
Fastdfs的tracker服务器出现一定概率的connection timeout

@余庆 你好,想跟你请教个问题: Fastdfs的tracker服务器在5000并发下,出现明显的响应时间周期性变长,然后出现大量的java.net.Co...

2014/06/09 13:56
3
回答
fasfdfs安装成功,启动成功,但是上传测试失败,请求大神帮助。

安装成功,但是上传报警。 This is FastDFS client test program v5.05 Copyright (C) 2008, Ha...

2017/12/24 21:07
1
回答
FastDFS 上传成功到源storage server, 在同步前挂掉了的问题

以现在的理解, FastDFS 在上传文件到 storage server 时, 文件保存就认为上传成功了. 然后会有同步线程将数据同步到同一个 grou...

2016/08/12 19:03
6
回答
Fastdfs客户端不能连接
battyman 的回答 2014/12/16 14:22
最佳答案
引用来自“battyman”的评论 java端的代码的tracker服务器地址配置对了么? charset=UTF-8 http.anti_steal_token=false http.secret_key=STORAGE1234567890 tracker_server=192.168.0....
1
回答
fastdfs java客户端 结合ueidtor编辑器 多图上传问题

如图,如果使用ueditor的多图上传组件的话,返回上传状态为成功,但结果会报IO异常,而后台的fastdfs 会报一些莫名其妙的异常,一时找不到原因啊 ...

2017/07/27 16:13
1
回答
多数据源时连接池大小问题?

比如数据库分库、分布式文件系统等。假设原本一个数据库连接数上限为500。现在分库为2台数据库,然后有5台应用服务器做负载均衡。由于每台应用服务器需要连接每...

2015/02/27 21:42

没有更多内容

加载失败,请刷新页面

FastDFS安装使用实战一(安装篇)

最近在研究负载均衡和集群,其中涉及到一个主要问题是,如何让集群中的real server共享一套文件系统。在网上查到FastDFS,国人(happy fish,感谢他的开源精神)开发的一套轻量级分布式文件系...

2015/03/30 20:01
172
0
FastDFS client for .net

fastDfs Code: https://code.google.com/p/fastdfs/ FastDfs_Client_DotNet:https://code.google.com/p/fastdfs/downloads/detail?name=FastDFS_Client_Dotnet.rar FastDfs示例代码 初始化 ...

2014/02/11 14:35
91
0
FastDFS5.05安装说明

FastDFS5.05安装说明

2015/06/16 18:46
205
0
fastdfs搭建

一、安装依赖: yum install -y gcc-c++ wget unzip perl pcre-devel zlib-devel libevent 二、下载: 1、下载fastdfs: wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.g...

2018/04/28 14:53
27
0
FastDFS-图片服务器

目录 一、FastDFS介绍 1、简介 2、FastDFS的存储策略 3、FastDFS的上传过程 4、FastDFS的文件同步 5、FastDFS的文件下载 二、安装FastDFS环境 0、前言 1、下载安装 libfastcommon 2、下载安装...

01/14 13:56
0
0
linux下搭建 FastDFS + Nginx

FastDfs 依赖 libevent。 先决条件: 测试环境目录为: /home/users/wangyanpei/ libevent 版本: 2.0.21-stable Fastdfs 版本: FastDFS_v4.06.tar.gz Nginx 版本: 1.6.0 fastdfs-nginx-mo...

2015/07/29 13:45
84
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部