1、FastDFS介绍

FastDFS 是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等
        这段话是来自官网的介绍,总之一句话,FastDFS是一个比较可以的高性能存储系统,适合中小型企业使用。

FastDFS基于客户端/服务器,对等特性允许一些系统扮演客户端和服务器的双重角色,可供多个用户访问的服务器,比如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就像使用本地驱动器一样

2、FastDFS组成

介绍几个词:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。

  • Tracker server 追踪服务器

追踪服务器负责接收客户端的请求,选择合适的组合storage server ,tracker server 与 storage server之间也会用心跳机制来检测对方是否活着。
        Tracker需要管理的信息也都放在内存中,并且里面所有的Tracker都是对等的(每个节点地位相等),很容易进行扩展,同时客户端访问集群的时候会随机分配一个Tracker来和客户端交互。

  • Storage server 储存服务器

实际存储数据,分成若干个组(group),实际traker的作用,就是管理的storage中的组,而组内机器中则存储数据,group可以隔离不同应用的数据,不同的应用的数据放在不同group里面。

  • 客户端Nginx

部署Nginx的目的,是通过Nginx的配置实现请求的转发,转发到不同的分组上,进行负载均衡,在部署FastDFS的时候,少不了Nginx。

我们说下集群的流程:

首先你的项目会发一个上传的请求,这个上传请求由你的web工程发起, 你的web工程会嵌套FastDFS的客户端jar包,发起上传请求,请求先到不同的tracker,因为每个tracker服务器上会部署着nginx,所以多台tracker的nginx要统一起来,就有了最外层的Nginx,如图嘴上面的部分,请求分发到不同的tracker上后,由tracker的轮询算法,选择一个组的storage server进行存储文件,于是storage server会返回给你的项目,拿到这个group和路径,以便后面进行文件的访问。

3、FastDFS读写操作

3.1、写数据(上传文件)

写操作的时候,storage会将他所挂载的所有数据存储目录的底下都创建2级子目录,每一级256个总共65536个,新写的文件会以hash的方式被路由到其中某个子目录下,然后将文件数据作为本地文件存储到该目录中。

3.2、读数据(下载文件)

当客户端向Tracker发起下载请求时,并不会直接下载,而是先查询storage server(检测同步状态),返回storage server的ip和端口,然后客户端会带着文件信息(组名,路径,文件名),去访问相关的storage,然后下载文件。

 大概就先介绍到这里,后面再补充吧,回家咯!

后面会介绍一系列安装,使用过程,不断更新。

第一章、FastDFS简介相关推荐

  1. hls fifo_【正点原子FPGA连载】第一章HLS简介--领航者ZYNQ之HLS 开发指南

    1)摘自[正点原子]领航者ZYNQ之HLS 开发指南 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手 ...

  2. 《RabbitMQ 实战指南》第一章 RabbitMQ 简介

    <RabbitMQ 实战指南>第一章 RabbitMQ 简介 文章目录 <RabbitMQ 实战指南>第一章 RabbitMQ 简介 一.什么是消息中间件 二.消息中间件的作用 ...

  3. 第一章 WebGL简介 Introduction

    第一章 WebGL简介 Introduction 概述 webGL是一组用于在web html上下文中绘制3D图像的web接口 html Canvas对象所有绘制图像的舞台,通过使用CanvasRen ...

  4. 【正点原子FPGA连载】第一章 ZYNQ简介 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  5. 第一章:Google简介

    第一章:Google简介 Google(www.Google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于 ...

  6. 自考02323《操作系统概论》第一章操作系统简介——思维导图

    备战2020年4月自考科目02323<操作系统概论>第一章操作系统简介 思维导图如下: ================================================== ...

  7. LLVM 极简教程: 第一章 教程简介与词法分析器

    第一章 教程简介与词法分析器¶ 原文: Tutorial Introduction and the Lexer 教程介绍 欢迎走进"LLVM开发新语言"教程.本教程详细介绍了一门简 ...

  8. 第一章 huggingface简介

    HuggingFace/transformers系列文章 第一章 huggingface简介 文章目录 HuggingFace/transformers系列文章 前言 一.Bert简介 二.Huggi ...

  9. 第一章 Centos 简介与安装

    第一章 Centos 简介与安装 第一节 :Centos 简介 Centos作为主流的一种Linux操作系统,以后java1234课程中,比如后期讲Redis,以及部署一些项目,会把Centos作为服 ...

  10. STM32单片机开发应用教程 (HAL库版) ---基于国信长天嵌入式竞赛实训平台(CT117E-M4)教程汇总 与第一章 硬件平台简介

    写在前面-- 作为<STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>教程汇总,第一章将介绍国信长天嵌入式竞赛实训平台(CT117E-M4) ...

最新文章

  1. java中jtextfield_java中的JTextField
  2. Windows平台下 vscode清理Java工程项目的缓存、相关快捷键设置
  3. Intouch使用SIDirect OIServer 连接西门子PLC S7-300
  4. java 输出字符集合里的字_Java基础 -- 字符串(格式化输出、正则表达式)(示例代码)...
  5. 中单引号怎么转义_在JavaScript中组合字符串的4种方法
  6. 【Cocos2d入门教程五】Cocos2d-x动作篇
  7. 6.5(对三个数进行排序)
  8. [转][中文/英文]VC6 sp6补丁下载|VS6 sp6补丁下载 [防VC6卡死]
  9. 华为-----任正非
  10. 大数据时代科研不能再两头花钱
  11. 计算机无法关闭开机密码,Win10系统开机密码取消不掉如何解决
  12. C# 如何给Excel添加水印
  13. WordPress使用domain/wp-json/api/v1/test 无法到接口可能的原因
  14. ETC是什么,ETC系统主要有哪几部分构成?
  15. 混jdon坛子的一些思考
  16. phpwind移动社区APP生成步骤说明
  17. 3dmax:3dmax的软件右边栏常用修改器(Cloth修改器、车削、倒角/剖面、对称、FFD长方体/圆柱体、Gizmo、规格化样条线、挤出 、路径、扭曲、晶格、壳、拉伸)之详细攻略
  18. Ubuntu11.10无法打开softer center(软件中心)和language support的解决
  19. 【GAOPS002】round robin Verilog实现
  20. Splunklive!2018北京站激情开场:合格的大数据处理平台到底是什么样子?

热门文章

  1. AI EARTH再立功,达摩院包揽遥感AI领域三项冠军
  2. Windows 11 再惹“众怒”!网友:微软就是逼我去买新电脑!
  3. 终于有人把计算机视觉讲明白了 。。。
  4. 赠书 | 图像分类问题建模方案探索实践
  5. 成为人工智能视觉应用工程师需要多久?我用了45天!
  6. “AI”战疫在行动,一文盘点百度大脑增援疫情防控的AI操作
  7. 1小时上手MaskRCNN·Keras开源实战 | 深度应用
  8. 60行代码爬取知乎“神回复”,句句戳中泪点
  9. 谁是AI行业最受关注的人?未来图灵发布《AI明星企业家热搜榜》
  10. 深入理解Spring的ImportSelector接口