一、FastDFS简介
FastDFS是一款开源的轻量级分布式文件系统,最早在ali,为易道用车架构师余庆所写。它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。FastDFS为互联网应用量身定做,追求高性能和高扩展性,更适合称作应用级的分布式文件存储服务。它只能通过专有API对文件进行存取访问,不支持POSIX接口方式,通用性较低。
在语言支持方面,目前提供了C、java、php、.NET的API。
现应用在jd、taobao、58、uc、51cto。
二、FastDFS用途
1)FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡。
2)FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储 ,支持存储服务器在线扩容。
3)FastDFS特别适合大中型网站使用,用来存储资源文件(如:图片、文档、音频、视频等等)。
三、FastDFS工作机制
1. 集群架构图

FastDFS集群架构由追踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成。
tracker server:主要做调度工作,在访问中起负载均衡作用,在内存中记录集群中group和storage server的状态信息,是连接client和storage server的枢纽,因为相关信息全部在内存中,tracker server的性能非常高(它本身所需负载很小),一个较大的集群中(如上百个group)有3台就足够。
storage server:文件和文件属性(如metadata)都保存在该server上,存储服务包括文件存储,文件同步,提供文件访问接口,同时以key-value的方式管理文件的元数据。
FastDFS架构解读
- 两个角色,tracker server和storage server,不需要存储文件索引信息。
- 所有服务器都是对等的,不存在Master-Slave关系。
- 存储服务器采用分组方式,同组内存储服务器上的文件完全相同(RAID 1)。
- storage集群中,组(或叫卷)和组之间不通信是相互独立的,storage主动向tracker汇报状态,所有组的容量累加就是整个存储系统中的文件容量,一个组可由一台或多台storage server组成,一个组内的所有单个存储服务器中的文件都是相同的,一组中的多台存储服务器起到了冗余备份和负载均衡的作

本文深入介绍了FastDFS的运作机制,包括集群架构、上传下载流程、文件索引解析和同步机制。FastDFS是开源的分布式文件系统,适用于大中型网站存储资源文件,提供负载均衡和RAID功能。文章还分析了其优点,如简化系统复杂性、支持在线扩容,以及缺点,如不支持断点续传、文件同步延迟等,并提出了相关解决方案。
最低0.47元/天 解锁文章
225

被折叠的 条评论
为什么被折叠?



