FastDFS轻量级分布式文件存储系统

常见的分布式文件系统有:FastDFS、GFS、HDFS、Lustre、Ceph、GridFS、TF等。

FastDFS轻量级分布式文件存储系统

传统方案方式弊端: 

  • 如果用户数量多,IO操作比较多,对磁盘访问压力很大;
  • 如果磁盘发生故障,会造成数据丢失;
  • 存储容量有限;

FastDFS轻量级分布式文件存储系统

分布式文件存储优点:

  •  解决的传统方式的单点故障问题,如果某一个节点出现故障还有其他的节点可以用来读取和写入文件,可以提供数据的备份避免因避免损坏导致的文件丢失,还可以提供库容的机制,无限增加文件存放的空间上限。

 一、FastDFS简介

  •  FastDFS是一个开源的轻量级分布式文件系统,为互联网应用量身定做,简单、灵活、高效,采用C语言开发,由阿里巴巴开发并开源。
  • FastDFS对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载、文件删除)等,解决了大容量文件存储的问题,特别适合以文件为载体的在线服务,如相册网站、文档网站、图片网站、视屏网站等。
  • FastDFS充分考虑了冗余备份、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

 二、FastDFS整体架构

FastDFS文件系统由两大部分构成,一个是客户端,一个是服务端。

客户端通常指我们的程序,比如我们的Java程序去连接FastDFS、操作FastDFS,那我们C++、JAVA程序就是一个客户端,FastDFS提供专有API访问,目前提供了C、Java和PHP有几种编程语言的API,用来访问FastDFS文件系统。

  • 服务端由两个部分构成:一个跟踪器(tracker),一个是存储节点(storage).
  • 跟踪器(tracker)主要做调度工作,在内存中记录集群中存储节点storage的状态信息,是前端Client和后端存储节点storage的枢纽。因为相关信息全部在内存中,Tracker server的性能非常高,一个较大的集群(比如上百个group)中有3台就足够了。
  • 存储节点(storage)用于存储文件,包括文件和文件属性(meta data)部保存到存储服务器磁盘上,完成文件管理的所有功能:文件存储、文件同步和提供文件访问等。

 

上一篇:Android中各种Adapter的用法


下一篇:fastDFS的安装和使用-文件服务器-教程1