FastDfs深入理解

FastDFS是一个开源的分布式文件系统,他适合管理中小型的文件。

在FastDFS分布式文件系统中,主要有三个角色:Tracker、Storage、Client。

首先,对这三个角色进行一个角色的分析:

Tracker:属于FastDFS的大脑,他会对storage进行实时的管理,也会处理来自Client的请求。

Storage:属于FastDFSD的存储系统,他会对来自Client上传的文件进行存储。

Client:属于FastDFS的客户请求端,可以通过TCP/IP协议与FastDFS建立通信,实现对文件的添加、删除、修改。

FastDFS系统架构图:

从图中,可以看出,这是一个FastDFS的集群配置,Tracker和Storage和Client都是具有多个的。

Client客户端会向Tracker进行发送请求,那如果在集群模式下,Tracker应该如何处理来自Client的请求?

多个Tracker的地位是一样的,也就是说,请求任意一个都是可以的,都能实现对Storage存储服务系统的调用;同时,在项目启动之后,Storage会实时向Tracker进行提交自己的信息(节点信息或者是元数据信息MetaData)或者就是Storage的心跳和磁盘空间,tracker调用的时候,会优先使用那些存储空间大的。

在Storage中,也会存在group的概念,group组也叫卷,他是会对文件进行分配存储位置的管理,默认都是在group1中。


FastDFS的上传机制:


依旧是这幅图,整个上传请求的流程如下:

客户端Client会发送文件上传请求给Tracker,Tracker接收到来自Client的请求之后,发现是上传请求之后,就会把自己实时管理的Storage的信息进行管理,找到一个合适的Stroage节点的IP地址和端口信息进行返回,交给Client,Client端接收到了来自Tracker端返回的Storage端的IP:端口之后就会拿这个ip进行请求Storage存储服务器,Storage接收到这个请求之后,就会把文件信息保存在自己的磁盘空间中,并且会向Client端返回自己刚存储完成文件的全路径(包括组和文件路径)


FastDFS的下载机制:

依旧是这幅图,整个下载请求的流程如下:

Client端首先会发送下载请求(携带文件的组和路径信息)到Tracker端,Tracker端拿到了这个下载的请求之后,会进行查找应该是哪一个storage存储服务器,找到之后就会把这个storage的IP与端口进行返回,返回给客户端,客户端拿到这个IP和端口之后,就会是使用这个Ip和端口(携带文件的组和路径信息)到Storage端,Storage端接收到请求之后,就会进行与Client建立通讯,进行下载。

全部评论

相关推荐

牛客737698141号:他们可以看到在线简历的。。。估计不合适直接就拒了
点赞 评论 收藏
分享
11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务