FastDFS分布式⽂文件系统 

1. 什么是FastDFS

FastDFS 是⽤用 c 语⾔言编写的⼀一款开源的分布式⽂文件系统。FastDFS

为互联⽹网量量身定制, 充分考虑了了冗余备份、负载均衡、线性扩容等机制,并注重⾼高可⽤用、⾼高性能等指标,使⽤用 FastDFS 很容易易搭建⼀一套⾼高性能的⽂文件服务器器集群提供⽂文件上传、下载等服务。

FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进⾏行行⽂文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成⽂文件上传和下载。

  • Tracker server 作⽤用是负载均衡和调度,通过 Tracker server 在⽂文件上传时可以根据⼀一些 策略略找到 Storage server 提供⽂文件


Storage server
 作⽤用是⽂文件存储,客户端上传的⽂文件最终存储在 Storage 服务器器上, Storageserver 没有实现⾃自⼰己的⽂文件系统⽽而是利利⽤用操作系统 的⽂文件系统来管理理⽂文件。可以将 storage 称为存储服务器器。
上传服务。可以将 tracker 称为追踪服务器器调度服务器器。


服务端两个⻆角⾊色:

  • Tracker: 管理理集群,tracker 也可以实现集群。每个 tracker 节点地位平等。收集 Storage 集群的状态。
  • Storage: 实际保存⽂文件, Storage 分为多个组,每个组之间保存的⽂文件是不不同的。每 个组内部可以有多个成员,组成员内部保存的内容是⼀一样的,组成员的地位是⼀一致的,没有 主从的概念。

客户端上传⽂文件后存储服务器器将⽂文件 ID 返回给客户端,此⽂文件 ID ⽤用于以后访问该⽂文 件的索引信息。⽂文件索引信息包括:组名,虚拟磁盘路路径,数据两级⽬目录,⽂文件名。 2. ⽂文件上传流程 

  • 组名:⽂文件上传后所在的 storage 组名称,在⽂文件上传成功后有 storage 服务器器返回, 需要客户端⾃自⾏行行保存。
  • 虚拟磁盘路路径:storage 配置的虚拟路路径,与磁盘选项

store_path*对应。如果配置了了 store_path0 则是 M00,如果配置了了 store_path1 则是 M01,以此类推。

  • 数据两级⽬目录:storage 服务器器在每个虚拟磁盘路路径下创建的两级⽬目录,⽤用于存储数据 ⽂文件。
  • ⽂文件名:与⽂文件上传时不不同。是由存储服务器器根据特定信息⽣生成,⽂文件名包含:源存储 服务器器 IP 地址、⽂文件创建时间戳、⽂文件⼤大⼩小、随机数和⽂文件拓拓展名等信息。

3. ⽂文件下载流程


 

FastDFS分布式⽂文件系统的更多相关文章

  1. FastDFS分布式文件系统

    FastDFS分布式文件系统 阅读目录 相关文章 1 分布式文件系统介绍 2 系统架构介绍 3 FastDFS性能方案 4 Linux基本命令操作 5 安装VirtualBox虚拟机并配置Ubuntu ...

  2. FastDFS 分布式文件系统的安装与使用(单节点)

    FastDFS 分布式文件系统的安装与使用(单节点) 跟踪服务器:192.168.4.121 (edu-dfs-tracker-01) 存储服务器:192.168.4.125 (edu-dfs-sto ...

  3. 使用Webupload上传图片到FastDFS分布式文件系统

    使用Webupload插件上传图片到FastDFS分布式文件系统. 前提条件:1.已安装FastDFS分布式文件系统 2.使用webuploader插件上传文件 3.maven工程已引入FastDFS ...

  4. FastDFS 分布式文件系统部署实战及基本使用

    FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...

  5. CentOS7 安装FastDFS分布式文件系统

    CentOS7 安装FastDFS分布式文件系统 最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家 ...

  6. django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除

    运维使用docker部署好之后FastDFS分布式文件系统之后,提供给我接口如下: fastdfs tracker 192.168.1.216 192.168.1.217 storage 192.16 ...

  7. 07.Linux系统-Fastdfs分布式文件系统-互为主从配置搭建部署

    Fastdfs分布式文件系统-互为主从配置部署 1.安装基础依赖 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl ...

  8. Dubbo入门到精通学习笔记(八):ActiveMQ的安装与使用(单节点)、Redis的安装与使用(单节点)、FastDFS分布式文件系统的安装与使用(单节点)

    文章目录 ActiveMQ的安装与使用(单节点) 安装(单节点) 使用 目录结构 edu-common-parent edu-demo-mqproducer edu-demo-mqconsumer 测 ...

  9. 一键架设FastDFS分布式文件系统脚本,基于Centos6

    一.使用背景 业务驱动技术需要,原来使用 FTP和 Tomcat upload目录的缺陷日渐严重,受限于业务不断扩大,想使用自动化构建,自动化部署,Zookeeper中心化,分布式RPC DUBBO等 ...

随机推荐

  1. leetcode908

    int smallestRangeI(vector<int>& A, int K) { int min = INT_MAX; int max = INT_MIN; for (aut ...

  2. jdk环境变量一键设置 管理員运行

    退出360等杀毒软件 本机win10 其他环境自测.参考了网上代码修改. @echo off rem dss color 02 mode con cols=70 lines=30 title JDK ...

  3. java基础之JDBC六:DBCP 数据库连接池简介

    我们之前写的代码中的数据库连接每次都是自己创建,用完以后自己close()销毁的,这样是很耗费资源的,所以我们引入DBCP DBCP简介 概述: Data Base Connection Pool, ...

  4. centos7 qt之程序编译 cant start process “cmake”

    之所以出现这个问题,是由于qt内置的cmake与系统已安装的cmake命令冲突.解决的方法是,在build里将cmake命令加上绝对路径. 问题得以解决.

  5. LoadRunner简明教程

    LoadRunner是什么 LoadRunner是一个性能测试工具,它最初是Mercury公司的产品,后背HP收购. LoadRunner常用来做什么 l 验证某系统在某环境下是否满足性能需求. l  ...

  6. 银行家算法之JavaScript实现

    上学期有个课程叫做操作系统,期末的时候这课程还有个课程设计,其中有个题目叫做银行家算法. 什么是银行家算法我就不解释了! 看着同学们的设计,大同小异甚至前篇一律. 清一色的控制台程序,清一色的蛋疼输入 ...

  7. 3-No resource found that matches the given name 'Theme.AppCompat.Light 的完美解决方案

    转载:http://www.360doc.com/content/15/0316/15/9200790_455576135.shtml 由于我在配置安卓环境时也碰到了类似问题,用这篇博客解决了主要问题 ...

  8. c语言实践 打印三角形

    效果如下: 我是怎么考虑这个问题的. 首先共有5行,那么我们需要一个循环,让这个循环走5遍. 那么我们有个大概的代码结构 for(int i=0;i<5;i++) { } i的定义域是[0,4] ...

  9. UOJ#22. 【UR #1】外星人

    传送门 分析 我们发现一个很神的性质,就是对于一个数如果放在它之前的数小于它那它一定对答案没有贡献 于是我们用dp[i][j]表示从大往小考虑了前i个数,当前答案是j的方案数 我们知道它由两种情况转移 ...

  10. Smarty3——foreach

    foreach and  foreachelse篇 foreach用于遍历数组,可以是非关联数组,与section相比要简单些,在smarty3中可以接受没有名称的属性,也可以使用smarty2有名称 ...