目录
一、FastDFS是什么
二、为什么要使用FastDFS
tracker server
storage server
client
三、具体的使用方法
首先FastDFS是一个开源的轻量级分布式文件系统,简单来说就是存放文件的。
什么是分布式文件系统?当我们存储的文件越来越多的时候,如果我们只存储在一个服务器中,越来越多肯定是存储不了的。如果我们使用多个服务器的话,那么就会不好管理,如果我们使用一个系统来管理多个系统的文件,那么这样的系统就是分布式文件系统。
虽然这个系统是在网络上多个系统看成一个整体,但是我们使用的话,就相当于是本地一样。而且这个分布式文件系统提供了高可用和负载均衡。
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
FastDFS服务有三个角色:跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)。
Tracker是FastDFS的协调者,负责管理所有的storage server和group,每个storage在启动后会连接 Tracker,告知自己所属的group等信息,并保持周期性的心跳,tracker根据storage的心跳信息,建立 group==>[storage server list]的映射表。
Tracker需要管理的元信息很少,会全部存储在内存中;另外tracker上的元信息都是由storage汇报的信息生成的,本身不需要持久化任何数据,这样使得tracker非常容易扩展,直接增加tracker机器即可扩展为 tracker cluster来服务,cluster里每个tracker之间是完全对等的,所有的tracker都接受stroage的心跳信息,生成元数据信息来提供读写服务。
Storage server(后简称storage)以组(卷,group或volume)为单位组织,一个group内包含多台 storage机器,数据互为备份,存储空间以group内容量最小的storage为准,所以建议group内的多个 storage尽量配置相同,以免造成存储空间的浪费。
以group为单位组织存储能方便的进行应用隔离、负载均衡、副本数定制(group内storage server数量即为 该group的副本数),同时还可根据应用的访问特性来将应用分配到不同的group来做负载均衡;缺点是group的容量受单机存储容量的限制,同时当group 内有机器坏掉时,数据恢复只能依赖group内地其他机器,使得恢复时间会很长。
group内每个storage的存储依赖于本地文件系统,storage可配置多个数据存储目录,比如有10块磁盘,分别挂载在/data/disk1-/data/disk10,则可将这10个目录都配置为storage的数据存储目录。 storage接受到写文件请求时,会根据配置好的规则,选择其中一个存储目录来存储文件。为了避免单个目录下的文件数太多,在storage第一次启动时,会在每个数据存储目录里创建2级子目录,每级256个,总共 65536个文件,新写的文件会以hash的方式被路由到其中某个子目录下,然后将文件数据直接作为一个本地文件存储到该目录中。
FastDFS向使用者提供基本文件访问接口,比如monitor、upload、download、append、delete等,以 客户端库的方式提供给用户使用。
由于上面我们说了tracker的用法,所以我们要首先启动tracker
可以通过对应服务的端口查看服务是否正常启动(如果是云服务器,注意要开放对应端口22122/23000)
上传文件和下载文件
当我们将nginx加入进来,那么我们就可以通过网页来访问我们的具体文件了。
以上就是FastDFS加上nginx的一些简单操作。https://github.com/0voice
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/62960.html