FastDFS 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
FastDFS 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
FastDFS 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
FastDFS 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
FastDFS 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 GPLv3
开发语言 C/C++ 查看源码 »
操作系统 Linux
软件类型 开源软件
所属分类 服务器软件存储系统
开源组织 阿里巴巴
地区 国产
提 交 者 happyfish100
适用人群 未知
收录时间 2008-10-07

软件简介

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的调用均为服务器间的调用。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (31)

加载中
停更这么多年了,还拿来投票啊,有没有替代品
2019/11/20 15:50
回复
举报
go-fastdfs
2019/11/25 18:11
回复
举报
有docker版吗,大佬
2019/11/26 21:10
回复
举报
go-fastdfs是有的可以试试 docker pull sjqzhang/go-fastdfs
2019/11/26 23:52
回复
举报
多谢
2019/11/30 15:51
回复
举报
有集群版嘛?
2020/07/24 10:20
回复
举报
打分: 力荐
搭建起来有点麻烦,不过相当给力!
2018/08/01 17:14
回复
举报
打分: 力荐
请问怎么上传文件夹啊?
2018/06/08 13:50
回复
举报
http://www.csource.org/
2018/01/09 10:01
回复
举报
http://www.csource.org/ 域名访问不了
2017/09/28 10:51
回复
举报
打分: 推荐
http://www.csource.org 打不开。。蓝瘦
2017/09/15 10:50
回复
举报
http://www.csource.org/这个怎么访问不了?
2017/08/04 18:35
回复
举报
打分: 很差
文档呢?
2017/06/16 11:12
回复
举报
打分: 力荐
2017/02/20 15:10
回复
举报
make
2017/02/06 18:22
回复
举报
更多评论
发表于软件架构专区
2019/12/26 12:27

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

FastDFS 6.05 发布了。FastDFS 是一个分布式文件系统,功能主要包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了文件大容量存储和高性能访问的问题。FastDFS 特别适合以文件为载体的在线服务,如图片、视频、文档等。 此版本主要对小文件合并存储的 binlog 压缩功能进行了企业级的增强和完善,主要改进如下: 根据内存快照定期生成新的 trunk binlog,以达到最好的压缩效果,减少磁盘空间占用,并且可以明显...

13
34
发表于开发技能专区
2019/12/05 16:25

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

FastDFS 6.04 发布了。FastDFS 是一个分布式文件系统,功能主要包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了文件大容量存储和高性能访问的问题。FastDFS 特别适合以文件为载体的在线服务,如图片、视频、文档等。 此版本更新内容包括: 单盘数据恢复支持多线程,以加快数据文件复制速度; 支持错误日志和 access 日志压缩; 修复了 v6.01 引入的一个 bug,该 bug 可能会导致单盘数据恢复获取 binlog 异...

9
26
发表于DevOps专区
2019/11/22 07:56

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

FastDFS 6.03 发布了。FastDFS 是一个分布式文件系统,功能主要包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了文件大容量存储和高性能访问的问题。FastDFS 特别适合以文件为载体的在线服务,如图片、视频、文档等。 此版本没有增加新功能,主要是服务端逻辑增强和 bug 修复。主要变化包括: 双 IP 除了支持一个内网 IP 和一个外网 IP 外,还支持两个不同类型的内网 IP,比如:192.168.1.10、172.17.4.21...

12
44
发表了资讯
2014/07/28 00:00

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

FastDFS V5.02 发布, 现已提供下载,主要修复了几个 bug,另外同步了易到用车消息推送平台项目中对 libfastcommon 库的修改。 主要的改进内容如下: * 修正了 README 里面的拼写错误 * Bug 修复:不能处理同步 truncate 文件异常 * 移除了 tracker_global.c 外部关键字到 tracker_global.h * change log level from ERROR to DEBUG when IOEVENT_ERROR * php callback should use INIT_ZVAL to init zval variable * add funct...

4
45
发表了资讯
2013/12/23 00:00

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

鱼大的轻量级分布式文件系统 FastDFS 5.0.0 发布。2013-12-22 小文件如图片,静态资源文件存储首选。连京东首页都已使用FastDFS了。上个版本是 2013-11-30 的 4.0.8. 主要就是去掉了对 libevent 的依赖。Linux 使用,FreeBSD 使用 kqueue。 FastDFS 是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在...

18
98
发表了资讯
2013/01/02 00:00

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

FastDFS v4.05 发布! 主要改进: C和PHP扩展支持连接池; 文件同步时,保持文件修改时间一致; 获取当前时间采用全局变量,而不是直接调用time函数,用cdn的同学赶紧更新吧,鼻涕。。。 详情参见源码中自带的tracker.conf示例。 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如...

2
12
发表了资讯
2012/11/18 00:00

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

FastDFS v4.03 发布! 主要改进: 文件ID中支持包含源storage server ID。 由tracker.conf的如下两个参数决定:use_storage_id和id_type_in_filename。 详情参见源码中自带的tracker.conf示例。 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDF...

1
9
发表了资讯
2012/10/29 00:00

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

FastDFS v4.02发布!主要改进:支持日志轮转,fdfs_monitor支持设置trunk server。 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册

1
22
发表了资讯
2012/10/21 00:00

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

FastDFS刚才发布了V4.01。主要是几点小改进。最主要的改进是扩展了trunk server资源释放(destroy)时的标志,以避免destroy时间较长可能导致的访问冲突问题。 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册

0
15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2020/12/07 16:21

【FastDFS】FastDFS上传图片

前言 FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 引入jar包 需要使用fastdfs_client_v1.20.jar,点击下载,并将此jar加入到工程中。 使用步骤 public void upload() throws Exception{     //创建一个配置文件内容为tracker服务器...

0
0
发表了博客
2019/09/25 19:22

FastDFS

1.FastDFS是什么? FastDFS是分布式文件系统。使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 2.工作原理 FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。 Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些策略找到 Storage server...

0
0
发表了博客
2019/06/23 23:28

FastDFS

为什么要使用分布式文件系统呢? 单机时代 初创时期由于时间紧迫,在各种资源有限的情况下,通常就直接在项目目录下建立静态文件夹,用于用户存放项目中的文件资源。如果按不同类型再细分,可以在项目目录下再建立不同的子目录来区分。例如:resources\static\file、resources\static\img等。 优点:这样做比较便利,项目直接引用就行,实现起来也简单,无需任何复杂技术,保存数据库记录和访问起来也很方便。 缺点:如果只是后...

0
0
发表了博客
2019/07/08 19:06

FastDfs

FastDfs是一个开源的轻量级分布式文件系统,其原理可以查看http://blog.chinaunix.net/uid-20196318-id-4058561.html,然后部署安装部分可参考http://blog.csdn.net/poechant/article/details/7209313,这里只是简单的说明下在C#中如何使用FastDfs。 首先是通过Nuget下载dll,具体地址为https://www.nuget.org/packages/FastDFS/ 然后可以通过程序来设置相关Tracker服务器地址及群组信息,也可以通过配置文件来配置 通过代码方式...

0
0
发表了博客
2019/09/20 17:08

【Linux】【FastDFS】FastDFS数据迁移

后来同步的时候发现有的没有同步过来,应该是没有同步完成我就停止服务了。 最后尝试直接把fastdfs storage的data文件迁移过去即可。 1.在新的storage server服务器上停止所有的storage 进程。 /etc/init.d/fdfs_storaged stop 2.修改storage 的配置文件 vi /etc/fdfs/storage.conf 将tracker server改成旧tracker 的ip tracker_server=192.168.8.100:22122 3.开始同步 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf 4.在旧的...

0
0
发表了博客
2018/02/22 16:25

FastDFS的介绍

#FastDFS的介绍 ##FastDFS   FastDFS是由国人余庆所开发,其项目地址:     https://github.com/happyfish100   FastDFS是一个轻量级的开源分布式文件系统,主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡。   FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。   FastDFS只能通过专有API对文件进行存取访问,不支持POSIX接口方式,不能mount使用。   准...

0
0
发表了博客
2019/05/24 15:48

FastDFS搭建

目录 一、FastDFS介绍 1、简介 2、FastDFS的存储策略 3、FastDFS的上传过程 4、FastDFS的文件同步 5、FastDFS的文件下载 二、安装FastDFS环境 0、前言 1、下载安装 libfastcommon 2、下载安装FastDFS 3、配置FastDFS跟踪器(Tracker) 4、配置 FastDFS 存储 (Storage) 5、文件上传测试 三、安装Nginx 1、安装nginx所需环境   2、安装Nginx 3、访问文件 四、FastDFS 配置 Nginx 模块 1、安装配置Nginx模块 五、Java客户端 1、首先...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于运维专区
2020/10/14 15:03

自建文件服务迁移到fastdfs

需要将老系统的文件全量迁移到fastdfs中去。 目前遇到的问题是,fastdfs的文件目录不能自定义,全部由fastdfs自己生成。 另一个问题是,fastdfs文件名称包含了很多元数据信息,所以有要求30位以上。老系统的文件名称有很多没有这么长。 ------------------------------------- 想咨询: 1、fastdfs目录可以自定义不?或者定义好了,可以通过什么配置让他生效。 2、fastdfs文件名称能不能自定义,不用满足30位字符串的长度要求。...

17
0
发表了问答
2017/12/24 21:07

fasfdfs安装成功,启动成功,但是上传测试失败,请求大神帮助。

安装成功,但是上传报警。 This is FastDFS client test program v5.05 Copyright (C) 2008, Happy Fish / YuQing FastDFS may be copied only under the terms of the GNU General Public License V3, which may be found in the FastDFS source kit. Please visit the FastDFS Home Page http://www.csource.org/ for more detail. [2017-12-24 17:55:51] DEBUG - base_path=/home/fastdfs, connect_timeout=30, network_time...

8
0
发表于开发技能专区
2018/03/12 17:50

fastdfs通过tracker_server访问文件问题

使用fastdfs搭建本地文件系统,文件上传后,通过tracker_server可以访问到上传的文件,但是过段时间再通过tracker_server 就无法访问到图片了,但是通过storage可以访问到文件,这是什么原因造成的啊? 1、如图:这是果断时间后通过tracker_server访问的结果 2、同样的文件通过sttorage访问,正常,如图: 3、新上传的,通过TRACKER_SERVER访问也是正常的。如图:...

1
0
发表于AI & 大数据专区
2020/03/09 17:24

不懂就问,兼容了 AWS S3 存储协议的优势是啥?

最近在做公司项目存储方式的技术选型。 之前一直是用 FastDFS 的,渐渐的有些不太能满足现在的业务场景。 在看了一些存储的服务,发现都提到了兼容了 AWS S3 存储协议。 对于 S3 协议网上更多的是介绍这个协议的内容,没有阐述使用这个大家都用协议的优势。 我的猜想。 1. 使用一套 S3 协议的实现 client,就可以很方便的使用存储服务,而不需要考虑,具体存储是哪个产品提供的服务? 2. 方便不同存储服务之间的数据迁移? 3. 大...

7
0
发表于DevOps专区
2019/06/24 15:38

tracker-server连接不上

我在华为上安装好了FastDFS,测试没问题。然后用fastdfs-client-java连接tracker时总是连接不上,华为云的安全组我也开放22122端口了,我在配置文件写的也是公网ip,不知道怎么回事,就是连接不上

1
0
发表了问答
2016/12/14 18:00

FastDFS上传成功之后浏览器无法访问

This is FastDFS client test program v5.05 Copyright (C) 2008, Happy Fish / YuQing FastDFS may be copied only under the terms of the GNU General Public License V3, which may be found in the FastDFS source kit. Please visit the FastDFS Home Page http://www.csource.org/ for more detail. [2016-12-14 01:53:16] DEBUG - base_path=/data/fastdfs, connect_timeout=30, network_timeout=60, tracker_server_co...

9
0
发表于DevOps专区
2019/07/30 11:14

文件服务器安全性的问题!

搭建文件服务器(fastDfs分布式文件服务器),怎么控制安全性,比如实现例如七牛防盗链那种,或者url的一种加密方式,这样。。。这快第一次搞不清楚没好思路,求教求教

3
0
2019/07/29 14:07

求推荐一款windows环境下的图片存储服务

目前需要在windows环境下做图片存储服务,以小文件为主,看了下hadoop比较适合大文件, fastdfs又不支持windows,有其他比较好的服务吗

1
0
发表了问答
2016/08/12 19:03

FastDFS 上传成功到源storage server, 在同步前挂掉了的问题

以现在的理解, FastDFS 在上传文件到 storage server 时, 文件保存就认为上传成功了. 然后会有同步线程将数据同步到同一个 group 的其他机器备份. 现在问题是, 返回成功以后, 同步到其他机器以前, 源 storage server 挂掉了, 这样会导致数据丢失. 这种情况应该会很少存在, 但是应该考虑, 大家有没有采取应对策略?

3
0
2019/06/03 11:01

(java)fastDFS连续下载报错:com.github.tobato.fastdfs.exception.FdfsServerException: 错误码:2,错误信息:找不到节点或文件

调用逻辑:需要实现的功能是批量下载图片转化生成PDF。 目前没找到java 的fastDFS 批量下载的API。所以只能循环每一个去下载。 所以在下载的时候就会出现com.github.tobato.fastdfs.exception.FdfsServerException: 错误码:2,错误信息:找不到节点或文件 而且不是一直出现时,连续下载10次,每两三次下载出现就会出现一次报错,我也做过异步线程去多次下载,也会出现就算多次下载也不会得到图片资源的情况,非常频繁。头都大了...

1
0
2019/04/22 14:00

fastdfs删除接口没有返回值,该如何判断结果?

比如文件不存在,删除成功都不知道.使用的是com.github.tobato fastdfs-client删除接口没有返回值的

3
0
发表于服务端专区
2019/03/09 18:23

FastDFS文件目录/文件数太多引起的操作系统异常kernel: EXT4-fs warning (device dm-2): ext4_dx_add_entry: Directory index full!

1
0
发表于运维专区
2018/12/26 10:45

Windows Server如何部署FastDfs?

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

2
0
发表了问答
2017/01/13 16:53

file: tracker_proto.c, line: 48, server:xxxxxx:23000, response status 17 != 0

@余庆 你好,想跟你请教个问题:我装好了tracker,storage,全部配置内网地址的时候,在服务器上上传,下载文件都没有任何问题, 很顺利.但我用个人电脑,想链接FastDfs上传文件, 发现连接超时, 后来我配置了storage.conf上的tracker server的ip为公网IP,发现可以连接上了,也可以上传文件了,但是在storage的日志中 ,发现一直报这个错: file: tracker_proto.c, line: 48, server:xxxxxx:23000, response status 17 != 0 一直解决不了这...

1
0
发表于开发技能专区
2018/06/27 16:53

图片服务器搭建

自己搭建图片服务器成本低一些还是直接用云服务器低一些?

10
1
2018/04/09 11:32

FastDFS上传文件后,nginx短时间404

目前搭了一个fastdfs集群,多group,一个group两台机器,通过nginx进行负载反向代理到group服务器上,再过nginx的mod找图片。 现在的问题是,程序上传图片后立刻就要通过生成的url去查看图片,但因为同步的问题,group里的两台机器有一台可能还没有这张图片,于是就会返回404。有没有什么办法避免这个问题,nginx层重试也行

3
0
发表了问答
2014/06/09 13:56

Fastdfs的tracker服务器出现一定概率的connection timeout

@余庆 你好,想跟你请教个问题: Fastdfs的tracker服务器在5000并发下,出现明显的响应时间周期性变长,然后出现大量的java.net.ConnectException: Connection timed out。此时服务器的内存和cpu均未跑满(配置:16核CPU,32G内存) 并且我们在较低并发(1000并发)的持久测试中也发现,有一定概率的java.net.ConnectException: Connection timed out。 tracker.conf如下: disabled=false bind_addr= port=22122 connect_timeo...

6
0
发表了问答
2014/12/14 20:52

Fastdfs客户端不能连接

服务器上搭建好环境,安装了nginx代理模块,在服务器上使用fdfs_upload_file能上传,浏览器也能下载, 可是本机用java客户端连接上传死活都不行。连接超时。 不知道这可能是哪里的原因?

8
0
发表了问答
2017/07/27 16:13

fastdfs java客户端 结合ueidtor编辑器 多图上传问题

如图,如果使用ueditor的多图上传组件的话,返回上传状态为成功,但结果会报IO异常,而后台的fastdfs 会报一些莫名其妙的异常,一时找不到原因啊 日志如下: 2017-07-27 16:12:14 [http-bio-80-exec-2] ERROR com.yhq.fasfdfs.client.manager.FastDFSFileManager.upload(FastDFSFileManager.java:100) - Non IO Exception when uploadind the file: 1501143134393040943.jpg java.lang.NullPointerException at org.csource.fas...

1
1
发表了问答
2015/02/27 21:42

多数据源时连接池大小问题?

比如数据库分库、分布式文件系统等。假设原本一个数据库连接数上限为500。现在分库为2台数据库,然后有5台应用服务器做负载均衡。由于每台应用服务器需要连接每个数据库,因此每台应用服务器上的连接数为200(对每台数据库连100)。 但是这样也很难继续水平扩充数据库数目啊。因为受到连接数限制啊。没接触这方面,有做过的可以说说吗,谢谢了。

2
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
31 评论
1.2K 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部