当前位置: 首页 > news >正文

FastDFS分布式文件存储

为什么会有分布式文件系统?
  • 分布式文件系统是面对互联网的需求而产生。因为互联网时代要对海量数据进行存储。很显然靠简单的增加硬盘个数已经满足不了我们的要求。
  • 因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数据备份、数据安全等。
  • 采用分布式文件系统可以将多个地点的文件系统通过网络连接起来,组成一个文件系统网络,结点之间通过网络进行通信,一台文件系统的存储和传输能力有限,我们让文件在多台计算机上存储通过多台计算机共同传输。

FastDFS 的架构图:

FastDFS 架构包括 Tracker server (追踪服务器) 和 Storage server (存储服务器) 。客户端请求Tracker server 进行文件上传、下载,通过其调度最终由 Storage server 完成文件上传和下载。
  • Tracker
    • Tracker Server 作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略0找到Storage server提供文件上传服务。可以将tracker称为 追踪服务器 调度服务器
  • Storage
    • Storage Server 作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storageserver 没有实现自己的文件系统而是使用操作系统的文件系统来管理文件。可以将storage称为 存储服务器
FastDFS 的应用场景:
文件存储: FastDFS可以用于存储用户上传的图片、视频、文档等文件。由于其分布式架构,FastDFS能够应对高并发访问,并支持在线扩容。
媒体存储与访问: 对于需要存储和快速访问大量媒体文件的场景,如视频网站或图片库,FastDFS能够提供稳定、高效的文件存储服务。
分布式系统:FastDFS适用于构建分布式系统,通过分布式部署来提高系统的可用性和可扩展性。
数据备份与恢复: FastDFS可以用于存储和备份各类数据,如数据库备份、用户数据备份等。由于其文件去重功能,可以有效降低存储空间占用。
文件共享与传输: FastDFS可以用于实现文件共享和传输,如在线办公、文件同步等场景。
FastDFS跟云端存储的区别:
  • FastDFS的成本比七牛云等云端存储低
  • FastDFS是开源的轻量级分布式文件存储系统。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。
  • FastDFS中相同内容的文件只存储一份,能节约磁盘空间。
  • 支持在线扩容、增强系统的可扩展性
  • 支持主从文件,支持自定义扩展名

安装:

  • go-fastdfs服务地址:https://github.com/sjqzhang/go-fastdfs/releases
  • go-fastdfs后台管理端地址:https://github.com/perfree/go-fastdfs-web
1、安装go-fastdfs服务

下载

第一步,打开go-fastdfs的服务地址,滑到下面下载Windows版本的服务

第二步,打开go-fastdfs后台管理端地址点击这里

安装服务与管理端台可视化

1、将下载好的,压缩包和exe文件放到自已指定的文件夹下

(1) 首先进入到我们下载的目录中:
(2) 然后我们在当前目录下进入 cmd, 并输入 fileserver.exe server,或者编写启动类
(3) 然后我们回到服务所在的目录,会看到多出几个文件夹和文件
默认的端口号是 8080
(4) 可以在 conf 文件夹中 cfg.json 文件来配置修改端口号等属性
2 、安装 go-fastdfs 后台管理服务
(1) 进入到我们下载的目录中:
go-fastdfs 后台管理服务的压缩包 go-fastdfs-web-v1.3.7.zip
(2) 解压文件,如下图:
其中:
conf : 文件夹里面的 application.yml 文件是用来配置服务的属性的。
go-fastdfs-web.jar : 后台管理界面 jar
goFastDfsWeb.sh linux 启动
start.bat windows 启动 ( 压缩包自带 )
(3) 配置端口:
(4) 接下来点击 start.bat 启动后台管理服务
3 、访问后台管理页面配置 gofastdfs 界面
(1) 根据自己设置的后台管理 ip 访问 ( 我这里设置的是 8001)
第一次访问时会提示未检测到本地的 GoFastDfs 服务,是因为它会自动去找 127.0.0.1:8080
而我们在这里修改了默认端口!
(2) 设置各项属性,如图所示:
然后点击下一步,进行账号配置:
根据自己需求进行填写即可,然后点击安装,稍等片刻就完成啦!
(3) 然后我们使用刚才创建的账号进行登录:
出现该界面就意味着已安装成功。

相关文章:

  • 牛刀小试 - C++ 推箱子小游戏
  • Pandas ------ 向 Excel 文件中写入含有合并表头的数据
  • P4学习(六)实验三:a Control Plane using P4Runtime
  • Go 虚拟环境管理工具 gvm 原理介绍与使用指南
  • Jellyfin影音服务本地部署并结合内网穿透实现公网访问本地资源
  • 雁行致远 vivo 2023年登顶国产手机第一
  • 视频尺寸魔方:分层遮掩3D扩散模型在视频尺寸延展的应用
  • docker 安装redis
  • day02 有序数组平方、长度最小的子数组、螺旋矩阵II
  • PHP 经纬度相关计算 坐标点之间的距离
  • C++对象模型(一)
  • Linux平台下安全编译
  • Git搭建
  • 通过FileZilla配置FTP
  • gitlab.rb主要配置
  • @angular/forms 源码解析之双向绑定
  • 《剑指offer》分解让复杂问题更简单
  • 0x05 Python数据分析,Anaconda八斩刀
  • Apache Spark Streaming 使用实例
  • css属性的继承、初识值、计算值、当前值、应用值
  • fetch 从初识到应用
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • windows下使用nginx调试简介
  • yii2权限控制rbac之rule详细讲解
  • 从零开始的无人驾驶 1
  • 电商搜索引擎的架构设计和性能优化
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #Java第九次作业--输入输出流和文件操作
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $.ajax()
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (1)STL算法之遍历容器
  • (4)(4.6) Triducer
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (floyd+补集) poj 3275
  • (WSI分类)WSI分类文献小综述 2024
  • (zhuan) 一些RL的文献(及笔记)
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (全注解开发)学习Spring-MVC的第三天
  • (十八)SpringBoot之发送QQ邮件
  • (原)本想说脏话,奈何已放下
  • (转)创业的注意事项
  • (转载)虚函数剖析
  • **PHP分步表单提交思路(分页表单提交)
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET开发人员必知的八个网站
  • @FeignClient注解,fallback和fallbackFactory
  • [ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2019-6116