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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初识k8s(概述、原理、安装)

文章目录 概述由来主要功能 K8S架构架构图组件说明ClusterMasterNodekubectl 组件处理流程 K8S概念组成PodPod控制器ReplicationController&#xff08;副本控制器&#xff09;ReplicaSet &#xff08;副本集&#xff09;DeploymentStatefulSet &#xff08;有状态副本集&#…

6 时间序列(不同位置的装置如何建模): GRU+Embedding

很多算法比赛经常会遇到不同的物体产生同含义的时间序列信息&#xff0c;比如不同位置的时间序列信息&#xff0c;风力发电、充电桩用电。经常会遇到该如此场景&#xff0c;对所有数据做统一处理喂给模型&#xff0c;模型很难学到区分信息&#xff0c;因此设计如果对不同位置的…

【Linux】常见指令(一)

前言: Linux有许多的指令&#xff0c;通过学习这些指令&#xff0c;可以对目录及文件进行操作。 文章目录 一、基础指令1. ls—列出目录内容2. pwd—显示当前目录3. cd—切换目录重新认识指令4. touch—创建文件等5. mkdir—创建目录6. rmdir指令 && rm 指令7. man—显…

linux源码编译安装llvm

目录 1 建立文件夹llvm 2 下载源码到llvm文件夹 3 解压上述文件 4 将解压后的3个文件夹改名&#xff0c;并移动到llvm-9.0.0.src中&#xff1a; 5 在llvm文件夹内建立build文件夹&#xff0c;并进入该文件夹&#xff1a; 6 执行cmake命令 7 make 8 安装 9 安装成功后…

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--机器人、强化学习

专属领域论文订阅 VX 扫吗关注{晓理紫|小李子}&#xff0c;每日更新论文&#xff0c;如感兴趣&#xff0c;请转发给有需要的同学&#xff0c;谢谢支持 如果你感觉对你有帮助可以扫吗关注&#xff0c;每日准时为你推送最新论文 分类: 大语言模型LLM视觉模型VLM扩散模型视觉导航…

Git Docker 学习笔记

注意&#xff1a;该文章摘抄之百度&#xff0c;仅当做学习笔记供小白使用&#xff0c;若侵权请联系删除&#xff01; 目录 列举工作中常用的几个git命令&#xff1f; 提交时发生冲突&#xff0c;你能解释冲突是如何产生的吗&#xff1f;你是如何解决的&#xff1f; git的4个…

安全通信网络

1.网络架构 1&#xff09;应保证网络设备的业务处理能力满足业务高峰期需要。 设备CPU和内存使用率的峰值不大于设备处理能力的70%。 在有监控环境的条件下&#xff0c;应通过监控平台查看主要设备在业务高峰期的资源&#xff08;CPU、内存等&#xff09;使用 情况&#xff…

双数据源同步的思考

双数据源同步的思考 目录概述需求&#xff1a; 设计思路实现思路分析1.简单实现 2.Spring mybatis 技术 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wa…

geemap学习笔记053:纹理特征

前言 纹理特征通常描述了遥感影像中像素之间的空间关系和变化&#xff0c;对于地物分类、目标检测以及图像分割等遥感应用非常有价值。本节将会介绍Earth Engine中提供的一些纹理特征计算方法&#xff0c;包括熵和灰度共生矩阵。 1 导入库并显示数据 import ee import geema…

.NET发展如火如荼,这回.Net 8的野心确实不小

随着三天.NET Conf 2023的会议结束了&#xff0c;.Net 8正式发布了。 .Net 8是官方号称有史以来性能最快的一个版本了。 .Net 8 增加了数以千计的性能、稳定性和安全性改进&#xff0c;以及平台和工具增强功能&#xff0c;有助于提高开发人员的工作效率和创新速度。 反正就是快…

【Leetcode 965.】判断单值二叉树

单值二叉树&#xff1a; 示例一&#xff1a; 示例二&#xff1a; 代码&#xff1a; bool isUnivalTree(struct TreeNode* root) {if(rootNULL)return true;if(root->left&&root->left->val!root->val)return false;if(root->right&&root-&…

【2024系统架构设计】案例分析- 1软件架构设计

目录 一 基础知识 二 历年真题 案例分析前文回顾: 【2024系统架构设计】 系统架构设计师第二版-大数据架构理论设计与实践 【2024系统架构设计】 系统架构设计师第二版-云原生架构设计理论与实践

opencv#30 线性滤波

均值滤波原理 均值滤波步骤 Step1:求和。 Step2:计算平均值。 所谓均值滤波&#xff0c;就是求平均值的意思。我们假设在一个3*3的范围内有一个图像&#xff0c;其中这个图像每一个像素可能含有噪声&#xff0c;也可能不含噪声&#xff0c;我们是不知道的&#xff0c;因此通…

力扣1143. 最长公共子序列(动态规划)

Problem: 1143. 最长公共子序列 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 我们先假设已经将两个字符串转换为两个char类型的数组&#xff08;t1,t2&#xff09;便于比较 1.如果t1[i] t2[j],有三种决策&#xff1a;&#xff08;i1&#xff0c;j1&#xff09;&a…

【江科大】STM32:TIM输入捕获(理论部分)

文章目录 IC&#xff08;Input Capture&#xff09;输入捕获PWM频率 知识点补充1. 滤波器的工作原理&#xff1a;2. 边沿检测器&#xff1a;自动化清零CNT输入捕获的基本结构PWMI基本结构滤波器和分频器的区别误差分析pwm.cmain.cIC.c PWM模式测频率和占空比 IC&#xff08;Inp…

架构篇08:架构设计三原则

文章目录 合适原则简单原则演化原则小结 成为架构师是每个程序员的梦想&#xff0c;但并不意味着把编程做好就能够自然而然地成为一个架构师&#xff0c;优秀程序员和架构师之间还有一个明显的鸿沟需要跨越&#xff0c;这个鸿沟就是“不确定性”。 对于编程来说&#xff0c;本…

神经网络算法与逻辑回归:优势与差异

神经网络算法和逻辑回归都是预测模型中的重要工具&#xff0c;但它们在处理复杂和非线性问题时表现出不同的性能。本文将深入探讨神经网络算法相对于逻辑回归的优势&#xff0c;以及它们在不同场景下的适用性。 一、引言 神经网络算法和逻辑回归都是预测模型中的重要工具&…

Ubuntu用gparted重新分配空间

ubuntu系统使用过程中安装系统时预先留的空间不够使用怎么办&#xff1f; 这么办&#xff01; 首先 使用df -h 查看当前空间使用情况 已经分配的空间重新规划 &#xff1f; 先将已分配的空间中的多余空间分离出来&#xff1b; 假设我想将挂载点/home下的一部分空间分给挂载…

数据结构之使用顺序表写出通讯录

前言 昨天我们踏入了数据结构的深山&#xff0c;并且和顺序表battle了一番&#xff0c;虽说最后赢了&#xff0c;但同时也留下了一个问题&#xff1a;如何从顺序表的增删查改加强到通讯录的的增删查改&#xff0c;别急&#xff0c;今天就带你一探究竟。 一.回顾与思考 我们昨…

20.云原生之GitLab CICD实战

云原生专栏大纲 文章目录 GitLab RunnerGitLab Runner 介绍Gitlab Runner工作流程 Gitlab集成Gitlab RunnerGitLab Runner 版本选择Gitlab Runner部署docker-compose方式安装kubesphere中可视化方式安装helm方式安装 配置gitlab-runner配置gitlab-ci.ymlgitlab-ci.yml 介绍编写…