分布式文件存储-FastDFS之个人记录

FastDFS

  • 对于一个项目来说尤其是大型项目,它里面存储很多的文件,比如:图片、文档、报表…,如果使用传统方式把这些资源存储在某一台的机器磁盘的话,可想而知其容量是不足够支撑,这些海量文件的,因此使用FastDFS分布式文件存储的解决方案来进行解决
  • 阿里开源的轻量级的分布式文件系统

FastDFS的功能

  • 分布式文件存储、文件同步、文件访问(文件上传、下载)等…
  • 还支持冗余备份、负载均衡、线性扩容
  • FastDFS它注重高可用、高性能优点

FastDFS内部架构的主要两个角色

Tracker Server和Storage Server

流程

  • 首先客户端需要先来请求到Tracker Server
  • 然后 tracker server根据自己内部的信息来决定当前的文件最终存储到哪一个Storage Server中

Tracker Server:主要是负载均衡和调度

  • 1:接收用户的请求向用户发送响应
  • 2:收集Storage 中的信息,根据这些信息来决定当前用户上传的文件存储到那个Storage Server中

Storage Server:就是用来进行文件的存储,它采用的是线性扩容的形式来进行文件存储,理论的情况下它的存储容量是无上限的

FastDFS架构图

在这里插入图片描述

上传流程图(自己画的,不太好看)

在这里插入图片描述

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

例如:
在这里插入图片描述

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值