【FastDFS】分布式文件系统简介

来源:互联网 发布:mac 双系统两个windows 编辑:程序博客网 时间:2024/06/05 18:15

一、前言

      在前一段工作的时间中,小编接触了文件系统——FastDFS,它是一个用C语言编写的开源的分布式文件系统。下面就对他进行简单的介绍

二、什么是FastDFS?

      FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

      在前文中小编给大家分享了Nginx,既然做了Nginx的负载均衡,就有了多个服务器,但是这多个服务器上的信息不是同步的,所以当我们遇到这种情况的时候,就会发现,用户把图片存储到了tomcat1上面,然而访问的时候不是tomcat1,就会访问不到。

      fastDFS就 是一个单独的文件系统,上传的图片可以存储到图片服务器,当要请求图片的时候,直接在图片服务器请求就可以了,这样就解决了tomcat服务群的资料同步的问题。


这里写图片描述

三、FastDFS的几个组成部分

      首先大家看一下官方的fastDFS集群的架构图:


这里写图片描述

      在这个图中,包含了Client、Tracker群、Storage群。

  • Client,就不用更多解释了,就是客户端。

  • Tracker,追踪者,用于做负载均衡和调度。

  • Storage,贮存,用户文件存储。

      这里要提一下的是:tracker之间没有主从之分,使用轮寻的方式进行访问,如果请求的tracker无法提供服务则换另一个。storager之间也没有主从之分。

文件上传流程:


这里写图片描述

文件下载流程:


这里写图片描述

上传文件的文件名

      客户端上传文件后存储服务器将文件ID返回给客户端,此文件ID用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。


这里写图片描述

  • 组名:文件上传后所在的storage组名称,在文件上传成功后有storage服务器返回,需要客户端自行保存。

  • 虚拟磁盘路径:storage配置的虚拟路径,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。

  • 数据两级目录:storage服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。

  • 文件名:与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储服务器IP地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。

四、小结

      原来也使用过文件系统ftp服务器,现在接触的更加的强大了,使用更加的方便了。fastDFS会更好的为系统提供服务,加油!

      下一篇博客将向大家带来如何搭建一台FastDFS的单机服务器。敬请期待。

原创粉丝点击