FastDFS是一款分布式文件系统,功能主要包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了文件大容量存储和 高性能访问的问题。FastDFS特别适合以文件为载体的在线服务,如图片、视频、文档等等。 FastDFS作为一款轻量级分布式文件系统,版本V6.01代码量6.3万行。FastDFS用C语言实现,支持Linux、FreeBSD、MacOS等类UNIX系统。FastDFS类似google FS,属于应用级文件系统,不是通 用的文件系统,只能通过专有API访问,目前提供了C和Java SDK,以及PHP扩展SDK。FastDFS为互联网应用量身定做,解决大容量文件存储问题 ,追求高性能和高扩展性。FastDFS可以看做是基于文件的key value存储系统,key为文件ID,value为文件内容,因此称作分布式文件存储服务更 为合适。 FastDFS的架构比较简单,如下图所示: ![architect](images/architect.png) FastDFS特点如下: 1)分组存储,简单灵活; 2)对等结构,不存在单点; 3)文件ID由FastDFS生成,作为文件访问凭证。FastDFS不需要传统的name server或meta server; 4)大 、中、小文件均可以很好支持,可以存储海量小文件; 5)一台storage支持多块磁盘,支持单盘数据恢复; 6)提供了nginx扩展模块,可 以和nginx无缝衔接; 7)支持多线程方式上传和下载文件,支持断点续传; 8)存储服务器上可以保存文件附加属性。