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) 然后我们使用刚才创建的账号进行登录:
出现该界面就意味着已安装成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/423039.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue2中CesiumV1.113.0加载离线地图

Vue2中CesiumV1.113.0加载离线地图&#xff0c;本文以天地图为例。 1.使用nodejs获取天地图 新建nodejsdownmap项目文件夹&#xff0c;初始化项目 npm init -y src/index.js // An highlighted block var Bagpipe require(bagpipe) var fs require("fs"); var r…

Kafka-服务端-日志存储

基本概念 首先需要了解的是&#xff0c;Kafka使用日志文件的方式保存生产者发送的消息。每条消息都有一个offset值来表示它在分区中的偏移量&#xff0c;这个offset值是逻辑值&#xff0c;并不是消息实际存放的物理地址。 offset值类似于数据库表中的主键&#xff0c;主键唯一…

【GitHub项目推荐--中国 Web 开发者路线图】【转载】

中国 Web 开发者路线图 在你学技术进阶的路上&#xff0c;如果你对接下来要学习的内容感到困惑&#xff0c;可以看看这个开源项目&#xff0c;这是中国 Web 开发者路线图。 它会让你对技术全景有一个了解&#xff0c;并在为你提供指导&#xff0c;该路线图并不会鼓励你选择时…

【GitHub项目推荐--基于 Flutter 的游戏引擎】【转载】

Flame 引擎的目的是为使用 Flutter 开发的游戏会遇到的常见问题提供一套完整的解决方案。 目前 Flame 提供了以下功能&#xff1a; 游戏循环 (game loop) 组件/对象系统 (FCS) 特效与粒子效果 碰撞检测 手势和输入支持 图片、动画、精灵图 (sprite) 以及精灵图组 一些简化…

【GitHub项目推荐--12306 抢票助手 python】【转载】

这个项目名很干脆&#xff0c;不知道以为是 12306 网站的源码&#xff0c;其实不是这是全 GitHub最德高望重的抢票小助手&#xff0c;功能一直在更新&#xff0c;且现已支持 Python 3.6 以上版本。 开源地址&#xff1a;https://github.com/testerSunshine/12306

深度学习|RCNNFast-RCNN

1.RCNN 2014年提出R-CNN网络&#xff0c;该网络不再使用暴力穷举的方法&#xff0c;而是使用候选区域方法&#xff08;region proposal method&#xff09;创建目标检测的区域来完成目标检测的任务&#xff0c;R-CNN是以深度神经网络为基础的目标检测的模型 &#xff0c;以R-C…

Unity - 简单音频

“Test_04” AudioTest public class AudioTest : MonoBehaviour {// 声明音频// AudioClippublic AudioClip music;public AudioClip se;// 声明播放器组件private AudioSource player;void Start(){// 获取播放器组件player GetComponent<AudioSource>();// 赋值…

深入Matplotlib:画布分区与高级图形展示【第33篇—python:Matplotlib】

文章目录 Matplotlib画布分区技术详解引言方法一&#xff1a;plt.subplot()方法二&#xff1a;简略写法方法三&#xff1a;plt.subplots()实例展示添加更多元素 进一步探索Matplotlib画布分区自定义子图布局3D子图结语 Matplotlib画布分区技术详解 引言 Matplotlib是一个强大…

机器学习:什么是监督学习和无监督学习

目录 一、监督学习 &#xff08;一&#xff09;回归 &#xff08;二&#xff09;分类 二、无监督学习 聚类 一、监督学习 介绍&#xff1a;监督学习是指学习输入到输出&#xff08;x->y&#xff09;映射的机器学习算法&#xff0c;监督即理解为&#xff1a;已知正确答案…

大模型的高效训练和部署技术卷出新高度

01 大模型训练的挑战 1. 大模型发展现状及问题 上图中展示了大模型的发展历程&#xff0c;其中纵坐标是 AI 模型的参数量。在过去几年间&#xff0c;AI 大模型的参数量飞速增长&#xff0c;大约每 18 个月时间就会增长 40 倍。例如 2016 年&#xff0c;世界最好的大模型 ResNe…

上位机图像处理和嵌入式模块部署(qt图像处理)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 很多人一想到图像处理&#xff0c;本能的第一反应就是opencv&#xff0c;这也没有错。但是呢&#xff0c;这里面还是有一个问题的&#xff0c;不知…

如何用 500 行 SQL 实现 GPT2学习

目录 理论背景实现过程GenerationTokenizerEmbeddingsAttention为什么我们需要有因果掩码&#xff1f;为什么矩阵是 Q&#xff0c;K 和 V&#xff1f; BlocksTokens为什么要使用 softmax 转换概率&#xff1f;Inference 俄罗斯有个大佬每年都会用 SQL 来实现一个挑战庆祝新年&a…