【django】新闻模块——文件存储方案FastDFS【23】

FastDFS是一款开源的轻量级分布式文件系统,适用于大容量存储和负载均衡。其架构包括Client、Tracker和Storage,Tracker负责调度,Storage处理文件存储。文件索引file_id包含组名、虚拟磁盘路径、数据目录和文件名,用于文件上传和下载。FastDFS上传下载流程涉及Tracker的调度和Storage的数据交互。
摘要由CSDN通过智能技术生成

一、FastDFS介绍

1、⽤c语⾔编写的⼀款开源的轻量级分布式⽂件系统
2、功能包括:⽂件存储、⽂件访问(⽂件上传、⽂件下载)、⽂件同步等,解决了⼤容量存储和负载均衡的问题。特别适合以⽂件为载体的在线服务,如相册⽹站、视频⽹站等等。
3、为互联⽹量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重⾼可⽤、⾼性能等指标。
4、可以帮助我们搭建⼀套⾼性能的⽂件服务器集群,并提供⽂件上传、下载等服务

在这里插入图片描述
5、FastDFS架构 包括Client、Tracker server和Storage server
6、Client请求Tracker进⾏⽂件上传、下载,Tracker再调度Storage完成⽂件上传和下载。 Client: 客户端,业务请求的发起⽅,通过专有接⼝,使⽤TCP/IP协议与Tracker或Storage进⾏数据交互。FastDFS提供了upload、download、delete等接⼝供客户端使⽤。

7、Tracker server:跟踪服务器,主要做调度⼯作起负载均衡的作⽤。在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。
8、Storage server存储服务器(存储节点或数据服务器),⽂件和⽂件属性都保存到存储服务器上。Storage server直接利⽤OS的⽂件系统调⽤管理⽂件。

二、FastDFS上传和下载流程

在这里插入图片描述

三、FastDFS⽂件索引

group1/M00/00/00/wKgVjV_jUFqAYzZbAAFNF-5NQK4351.png

1、FastDFS上传和下载流程 可以看出都涉及到⼀个数据叫⽂件索引(file_id)。

  • ⽂件索引file_id是客户端上传⽂件后Storage返回给客户端的⼀个字符串,是以后访问该⽂件的索引信息。

2、⽂件索引(file_id)信息包括:组名、虚拟磁盘路径、数据两级⽬录、⽂件名等信息

  • 组名:⽂件上传后所在的 Storage 组名称。
  • 虚拟磁盘路径:Storage 配置的虚拟路径,与磁盘选项store_path*对应.如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。
  • 数据两级⽬录:Storage 服务器在每个虚拟磁盘路径下创建的两级⽬录,⽤于存储数据⽂件。
  • ⽂件名:由存储服务器根据特定信息⽣成,⽂件名包含:源存储服务器IP地址、⽂件创建时间戳、⽂件⼤⼩、随机数和⽂件拓展名等信息。
    在这里插入图片描述
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码敲到头发茂密

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值