1.定义
FastDFS(Fast Distributed file system)用c语言编写的一款开源的轻量级分布式文件系统
2.功能:
文件存储,文件访问(文件上传,文件下载)文件同步等,解决了大容量存储和负载均衡的问题
3.优点:
有利于冗余备份,负载均衡,线性扩容,高可用,高性能
实现了软RAID(redundant array of independent disks独立磁盘冗余阵列)
4.缺点
通过API下载,存在单点的性能瓶颈
不支持断点续传,对大文件将是噩梦
5.应用场景
2.FastDFS的组成适合以文件为载体的图片和视频的存储,因为没做分块存储,不太适合分布式计算场景
FastDFS架构由Client,Tracker server和Storage server组成
Client
客户端,业务请求的发起方,通过专有接口,使用TCP/IP协议与Tracker或Storage进行数据交互,FastDFS提供了upload,download,delete等接口供客户端使用.
Tracker server
跟踪服务器,主要做调度工作,起负载均衡的作用在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽
Storage server
存储服务器(存储节点或数据服务器),文件和文件属性都保存到存储服务器上.Storage server直接利用OS的文件系统调用管理文件,Storage群中的横向可以扩容,纵向可以备份。
3.上传和下载流程上传
下载
3.FastDFS文件索引1.定义
FastDFS上传和下载流程 可以看出都涉及到一个数据叫文件索引(file_id)
**文件索引(file_id)**是客户端上传文件后Storage返回给客户端的一个字符串,是以后访问该文件的索引信息
2.组成
文件索引(file_id)信息包括:组名,虚拟磁盘路径,数据两级目录,文件名等信息
组名:文件上传后所在的 Storage 组名称虚拟磁盘路径:Storage 配置的虚拟路径,与磁盘选项store_path*对应.如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。数据两级目录:Storage 服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件.文件名:由存储服务器根据特定信息生成,文件名包含:源存储服务器IP地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息



