FastDFS上传图片

@FastDFS

分布式文件存储

在这里插入图片描述

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
分布式文件系统优点:
1:解决了传统方式的单点故障问题,如果某一个节点出现故障还有其他的节点可以用来读取和写入文件。
2:可以提供数据备份,避免因磁盘损坏导致的文件丢失。
3:提供扩容的机制,无限增加文件存放的空间上限。

1.FastDFS介绍

1.1图片服务器介绍

要实现图片上传功能,需要有一个图片服务器。图片服务器的特点:
1.存储空间可扩展
2.提供统一的访问方式
3.访问效率高
原来使用Tomcat配置虚拟路径的方式不能满足需求。

企业中的图片服务器有两个方案:

  1. 使用FastDFS分布式文件系统。
  2. 使用Nginx服务器。

1.2 什么是FastDFS

FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、横向扩展等机制,并注重高可用、高性能等指标,使用FastDFS很容易(几乎可以做到零配置)搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

1.3 FastDFS架构

FastDFS文件系统由两大部分构成:客户端和服务端
客户端通常指我们的程序,比如我们的Java程序去连接FastDFS、操作FastDFS,那我们的Java程序句是一个客户端。
服务端由两部分组成:跟踪器(tracker)、存储节点(storage)
跟踪器(tracker): 主要做调度工作,在内存中记录集群中存储节点(storage)的状态信息,是前端client和后端存储节点storage的枢纽。因为相关信息全部在内存中,Tracker server的性能非常高
存储节点(storage): 用于存储文件和文件属性(meta data)都保存到存储服务器磁盘上,完成文件管理的所有功能:文件存储、文件同步和提供文件访问等

如下图:

在这里插入图片描述

1.4 文件上传流程

文件上传流程如下图(时序图):
在这里插入图片描述
客户端上传文件后存储服务器将文件ID返回给客户端,此文件ID用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。

1.5 文件下载流程

在这里插入图片描述

tracker根据请求的文件路径即文件ID 来快速定义文件。
比如请求下边的文件:
在这里插入图片描述

1.通过组名tracker能够很快的定位到客户端需要访问的存储服务器组是group1,并选择合适的存储服务器提供客户端访问。
2.存储服务器根据“文件存储虚拟磁盘路径”和“数据文件两级目录”可以很快定位到文件所在目录,并根据文件名找到客户端需要访问的文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CANDH

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

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

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

打赏作者

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

抵扣说明:

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

余额充值