首页 > 图灵资讯 > 技术篇>正文

为互联网应用文件存储而生之FastDFS

2023-04-13 16:35:03

分布式文件系统 (Distributed File System) 软件或软件服务器用于管理文件,但软件管理的文件通常不是在服务器节点上,而是在多个服务器节点上。这些服务器节点通过网络连接形成一个庞大的文件存储服务器集群,用于存储文件资源。这些服务器上的文件通过分布式文件系统进行管理;

常见的分布式文件系统包括:FastDFS、GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS等;

FastDFS是由阿里巴巴开发开源的轻量级分布式文件系统,为互联网应用量身定制,简单、灵活、高效,采用C语言开发;

FastDFS管理文件的功能包括:文件存储、文件同步、文件访问(文件上传、文件下载、文件删除)等,解决了大容量文件存储的问题,特别适合相册网站、文档网站、图片网站等在线服务;

FastDFS充分考虑冗余备份、线性扩展等机制,注重高可用性、高性能等指标。FastDFS很容易建立一个高性能的文件服务器集群,提供文件上传、下载等服务;

FastDFS发展历史

项目于2008年4月启动,第一版V1.00于7月发布,两年内升级为V1.29;

2010年8月,V2.00;

V3.000;

V4.00.0;

V5.00.0;

到目前为止,最新版本是V5.11;(2017年6月发布)

FastDFS系统架构自第一个版本发布以来没有大的调整。高版本与低版本的数据完全兼容,可以平稳升级。建议更新并升级到最新版本;

github上托管FastDFS代码:https://github.comhappyfish100/fastdfs

FastDFS整体架构结构

FastDFS文件系统由客户端和服务端两部分组成;

客户端通常指我们的程序,比如我们的Java程序连接FastDFS、操作FastDFS,那么我们的Java程序就是客户端;

FastDFS目前提供专有API访问 C、Java 和 PHP 用于访问FastDFS文件系统的几种编程语言API;

服务器由两部分组成:一是跟踪器(tracker),一是存储节点(storage);

跟踪器(tracker)主要从事调度工作,记录集群中存储节点storage的状态信息,是前端Client和后端存储节点storage的枢纽;

因为所有相关信息都在内存中,Tracker server的性能很高,一个较大的集群(比如几百个group)中有三个就足够了;

存储节点(storage)用于存储文件,包括文件和文件属性(meta data)文件管理的所有功能都保存在存储服务器磁盘上:文件存储、文件同步和文件访问;

更全面、更快速地掌握FastDFS,蛙课网 视频课程即将推出:FastDFS详解分布式文件系统,敬请期待。

上一篇 讨论JMS与ActiveMQ的内部逻辑
下一篇 浅析MySQL的锁机制

文章素材均来源于网络,如有侵权,请联系管理员删除。