fastdfs架构(fastdfs原理与过程)

fastdfs架构(fastdfs原理与过程)目录 一 FastDFS 是什么 二 为什么要使用 FastDFS tracker server storage nbsp server client 三 具体的使用方法 nbsp nbsp nbsp nbsp 首先 FastDFS 是一个开源的轻量级分布式文件系统 简单来说就是存放文件的 nbsp nbsp nbsp nbsp 什么是分布式文件系统 当我们存储的文件越来越多的时候 如果我们只存储在一个服务器中 越来越多肯定是存储不了的 如果我们使用多个服务器的话



目录

一、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

编程小号
上一篇 2025-02-16 10:40
下一篇 2025-03-05 08:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/62960.html