fastdfs是一款开源的分布式文件系统,充分考虑了冗余备份,负载均衡,现行扩容等机制,并注重高可用,高性能等指标,并能够提供上传,下载等服务,是一种高性能的文件服务器,主要用来解决海量数据的存储;
fastdfs由tracker server(跟踪服务器),storage server(存储服务器)和client(客户端)组成.
client通过请求tracker server,调度storage server来完成文件的上传下载.tracker server 负责负载均衡和调度,storage server负责实际上的文件存储,但是storage server并没有自己的文件系统,它使用的是操作系统的文件系统.
storage server集群采用的是分组存储方式,好处是灵活,可控性强
Storage server会连接集群中所有的Tracker server,定时向他们报告自己的状态,包括磁盘剩余空间、文件同步状况、文件上传下载次数等统计信息。
文件索引信息:
1.通过组名tracker能够很快的定位到客户端需要访问的存储服务器组是group1,并选择合适的存储服务器提供客户端访问。
2.选择完一台存储服务器后,存储服务器根据“磁盘编号M00”可以得知使用的是哪块磁盘是M00这块磁盘。由于M00对应的是store_path0,所以根据store_path0配置的路径就可以找到对应的目录。
3.根据两级目录/02/44/和文件名就可以获取到对应的文件了。
![](/qrcode.jpg)
由于FastDFS只提供了文件上传的服务并没有提供文件下载的接口,所以需要在storage上安装nginx来实现文件下载,nginx只提供文件下载接口不提供上传接口,所以,经常用的一种文件服务器集群架构师nginx+fastdfs模式;