FastFDS 分布式文件系统

底下附服务器搭建

介绍

FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务,如相册网站、视频网站等等。在UC基于FastDFS开发向用户提供了:网盘,社区,广告和应用下载等业务的存储服务。

FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。

FastDFS特性

  • 文件不分块存储,上传的文件和OS文件系统中的文件一一对应
  • 支持相同内容的文件只保存一份,节约磁盘空间
  • 下载文件支持HTTP协议,可以使用内置Web Server,也可以和其他Web Server配合使用
  • 支持在线扩容
  • 支持主从文件
  • 存储服务器上可以保存文件属性(meta-data)V2.0网络通信采用libevent,支持大并发访问,整体性能更好

服务器:

Tracker相当于FastDFS的大脑,不论是上传还是下载都是通过tracker来分配资源;客户端一般可以使用ngnix等静态服务器来调用或者做一部分的缓存;存储服务器内部分为卷(或者叫做组),卷于卷之间是平行的关系,可以根据资源的使用情况随时增加,卷内服务器文件相互同步备份,以达到容灾的目的。

流程

上传:

下载:

精巧的文件ID-FID

说到下载就不得不提文件索引(又称:FID)的精巧设计了。文件索引结构如下图,是客户端上传文件后存储服务器返回给客户端,用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名:group1/M00/nn/mm/xxx.jpg

  • 组名:文件上传后所在的存储组名称,在文件上传成功后有存储服务器返回,需要客户端自行保存。
  • 虚拟磁盘路径:存储服务器配置的虚拟路径,与磁盘选项store_path*对应。
  • 数据两级目录:存储服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。
  • 文件名:与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储服务器IP地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。

快速定位文件

知道FastDFS FID的组成后,我们来看看FastDFS是如何通过这个精巧的FID定位到需要访问的文件。

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

点击服务器搭建

FastFDS 分布式文件系统相关推荐

  1. FastDFS分布式文件系统的安装及配置

    由于网站使用nfs共享方式保存用户上传的图片,附件等资料,然后通过apache下载的方式供用户访问,在网站架构初期,使用这种简单的方式实现了静态资源的读写分离,但随着网站数据量的增加,图片服务器渐渐成 ...

  2. CentOS 7.5下搭建高可用的FastDFS分布式文件系统

    FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server).存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题 ...

  3. FastDFS分布式文件系统_Linux

    文章目录 一.分布式文件系统概述 1.单机时代 2.独立文件服务器 3.分布式文件系统 4.FastDFS 5.FastDFS核心概念 6.上传机制 7.下载机制 二.分布式文件系统实践 1.环境搭建 ...

  4. 2021年大数据Hadoop(七):HDFS分布式文件系统简介

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS分布式文件系统 ...

  5. 分布式文件系统(FastDFS)安装 配置

    [TOC] 百度百科: FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文 ...

  6. 高可用集群之分布式文件系统

    一.分布式文件系统和单机文件系统的区别: 单机文件系统的分区只能被一台主机所挂载,不能同时被多台主机挂载使用,因为单机文件系统是通过系统内核层的锁机制来完成的,所以一个系统上可以有多个进程访问,但只能 ...

  7. 彻底理解大数据 HDFS 分布式文件系统,这篇就够了

    来源:https://www.cnblogs.com/cainiao-chuanqi/p/11420490.html 文件系统的基本概述 文件系统定义:文件系统是一种存储和组织计算机数据的方法,它使得 ...

  8. 世界最优秀的分布式文件系统架构演进之路

    来自:架构之美 前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. Hadoop实现 ...

  9. SHELL脚本自动化部署MFS分布式文件系统

    前言:在我们运维中,最常见的文件存储系统大概就是NFS了,但是随着网站压力不断增加,NFS渐渐不能满足企业数据增长需求,有木有自动扩展.高效.部署.实施方便快捷的分布式存储供我们使用呢?那我们来看一下 ...

  10. 详细讲解MFS分布式文件系统搭建(内含源码包)

    初步了解分布式原理: 分布式文件系统(Distributed File Systemm)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.简单来说,就是把一些分散 ...

最新文章

  1. Enterprise Library 4 缓存应用程序块的设计
  2. MySql层级树查询
  3. MQTT在Windows下搭建MQTT服务器
  4. mybatis generator eclipse插件的安装
  5. DuplicateHandle复制句柄保护文件
  6. python gui界面 tcp_通过python实现TCP编程
  7. python目标识别代码_利用ImageAI库只需几行python代码超简实现目标检测
  8. 自定义控件--实现步骤
  9. 【公益】开放一台Eureka注册中心给各位Spring Cloud爱好者
  10. 服务器安装三节点RabbitMQ集群(4)
  11. 今天,公司架构师跟我分享多年的私货 | 进阶之路必读书籍(附下载链接)
  12. (46)Xilinx ILA IP核配置(七)(第10天)
  13. [Data Pump]impdp导入笔记
  14. 按键编码ASCII对照表
  15. 非科班普通本科就注定进不了大厂?我不服
  16. 5种Alexa世界排名作弊方式
  17. 给IDEA换个酷炫的主题,有点好看!
  18. 一个简单的python-execl查重
  19. selenium 元素定位方法
  20. 计算机网络个人简历优秀范文,计算机网络个人简历范文

热门文章

  1. 关于集合set()补充
  2. 微信小程序(翻译小助手)项目实战
  3. Python在线编辑器推荐
  4. c语言oj得pe,ACM入门之OJ~
  5. 华为手机怎么开启生产模式 | 华为手机打开生产模式后有驱动没有安装好怎么办 | 华为荣耀9手机打开生产模式后有驱动有叹号怎么办
  6. TCA笔记4:TCA代码笔记
  7. 垂直行业大数据分层架构图
  8. excel将内容粘贴到筛选后的可见单元格
  9. 常见的贴片LED封装尺寸规格表
  10. 2021国赛数学建模赛题与分析