FastFDS 分布式文件系统
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 分布式文件系统相关推荐
- FastDFS分布式文件系统的安装及配置
由于网站使用nfs共享方式保存用户上传的图片,附件等资料,然后通过apache下载的方式供用户访问,在网站架构初期,使用这种简单的方式实现了静态资源的读写分离,但随着网站数据量的增加,图片服务器渐渐成 ...
- CentOS 7.5下搭建高可用的FastDFS分布式文件系统
FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server).存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题 ...
- FastDFS分布式文件系统_Linux
文章目录 一.分布式文件系统概述 1.单机时代 2.独立文件服务器 3.分布式文件系统 4.FastDFS 5.FastDFS核心概念 6.上传机制 7.下载机制 二.分布式文件系统实践 1.环境搭建 ...
- 2021年大数据Hadoop(七):HDFS分布式文件系统简介
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS分布式文件系统 ...
- 分布式文件系统(FastDFS)安装 配置
[TOC] 百度百科: FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文 ...
- 高可用集群之分布式文件系统
一.分布式文件系统和单机文件系统的区别: 单机文件系统的分区只能被一台主机所挂载,不能同时被多台主机挂载使用,因为单机文件系统是通过系统内核层的锁机制来完成的,所以一个系统上可以有多个进程访问,但只能 ...
- 彻底理解大数据 HDFS 分布式文件系统,这篇就够了
来源:https://www.cnblogs.com/cainiao-chuanqi/p/11420490.html 文件系统的基本概述 文件系统定义:文件系统是一种存储和组织计算机数据的方法,它使得 ...
- 世界最优秀的分布式文件系统架构演进之路
来自:架构之美 前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. Hadoop实现 ...
- SHELL脚本自动化部署MFS分布式文件系统
前言:在我们运维中,最常见的文件存储系统大概就是NFS了,但是随着网站压力不断增加,NFS渐渐不能满足企业数据增长需求,有木有自动扩展.高效.部署.实施方便快捷的分布式存储供我们使用呢?那我们来看一下 ...
- 详细讲解MFS分布式文件系统搭建(内含源码包)
初步了解分布式原理: 分布式文件系统(Distributed File Systemm)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.简单来说,就是把一些分散 ...
最新文章
- Enterprise Library 4 缓存应用程序块的设计
- MySql层级树查询
- MQTT在Windows下搭建MQTT服务器
- mybatis generator eclipse插件的安装
- DuplicateHandle复制句柄保护文件
- python gui界面 tcp_通过python实现TCP编程
- python目标识别代码_利用ImageAI库只需几行python代码超简实现目标检测
- 自定义控件--实现步骤
- 【公益】开放一台Eureka注册中心给各位Spring Cloud爱好者
- 服务器安装三节点RabbitMQ集群(4)
- 今天,公司架构师跟我分享多年的私货 | 进阶之路必读书籍(附下载链接)
- (46)Xilinx ILA IP核配置(七)(第10天)
- [Data Pump]impdp导入笔记
- 按键编码ASCII对照表
- 非科班普通本科就注定进不了大厂?我不服
- 5种Alexa世界排名作弊方式
- 给IDEA换个酷炫的主题,有点好看!
- 一个简单的python-execl查重
- selenium 元素定位方法
- 计算机网络个人简历优秀范文,计算机网络个人简历范文