精选文章 FastDFS学习笔记(一)基础介绍

FastDFS学习笔记(一)基础介绍

作者:zxf_noimp 时间: 2019-11-06 09:54:49
zxf_noimp 2019-11-06 09:54:49

1、分布式文件系统简介

       计算机通过文件系统管理、存储数据,而信息爆炸时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小、容量增长速度、数据备份、数据安全等方面的表现都差强人意。分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。

1.1   什么是FastDFS

      FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

      FastDFS架构包括 Tracker server(跟踪器)和Storage server(存储器)。客户端请求Tracker server进行文件上传、下载,通过Trackerserver调度最终由Storage server完成文件上传和下载。

     Trackerserver作用是负载均衡和调度,通过Trackerserver在文件上传时可以根据一些策略找到Storageserver提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。

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

如下图:

FastDFS学习笔记(一)基础介绍1

1.2  Tracker 集群

FastDFS集群中的Tracker server可以有多台,Trackerserver之间是相互平等关系同时提供服务,Trackerserver不存在单点故障。客户端请求Trackerserver采用轮询方式如果请求的tracker无法提供服务则换另一个tracker

1.3  Storage集群

        Storage集群采用了分组存储方式。storage集群由一个或多个组构成,集群存储总容量为集群中所有组的存储容量之和。一个组由一台或多台存储服务器组成,组内的Storage server之间是平等关系,不同组的Storageserver之间不会相互通信,同组内的Storageserver之间会相互连接进行文件同步,从而保证同组内每个storage上的文件完全一致的。一个组的存储容量为该组内存储服务器容量最小的那个,由此可见组内存储服务器的软硬件配置最好是一致的。

         采用分组存储方式的好处是灵活、可控性较强。比如上传文件时,可以由客户端直接指定上传到的组也可以由tracker进行调度选择。一个分组的存储服务器访问压力较大时,可以在该组增加存储服务器来扩充服务能力(纵向扩容)。当系统容量不足时,可以增加组来扩充存储容量(横向扩容)。

1.4  Storage状态收集

         Storage server会连接集群中所有的Tracker server,定时向他们报告自己的状态,包括磁盘剩余空间、文件同步状况、文件上传下载次数等统计信息。

1.5  文件上传流程

FastDFS学习笔记(一)基础介绍2

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

 组名:文件上传后所在的storage组名称,在文件上传成功后有storage服务器返回,需要客户端自行保存。

虚拟磁盘路径:storage配置的虚拟路径,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。

数据两级目录:storage服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。

文件名:与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储服务器IP地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。

1.6 文件下载流程

FastDFS学习笔记(一)基础介绍3

1.通过组名tracker能够很快的定位到客户端需要访问的存储服务器组是group1,并选择合适的存储服务器提供客户端访问。 

2.存储服务器根据“文件存储虚拟磁盘路径”和“数据文件两级目录”可以很快定位到文件所在目录,并根据文件名找到客户端需要访问的文件。

 

 

 

 

 

 

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:mysql切换分隔符

下一篇:( 数据结构专题 )【 并查集&带权并查集 】

您可能感兴趣

  • 工业界如何解决NER问题?12个trick,与你分享~

    NER是一个已经解决了的问题吗?或许,一切才刚刚开始。 例如,面对下面笔者在工作中遇到的12个关于NER的系列问题,你有什么好的trick呢?不着急,让我们通过本篇文章,逐一解答~ Q1、如何快速有效地提升NER性能(非模型迭代)? Q2、如何在模型层面提升NER性能? Q3、如何构建引入词汇信息(词向量)的NER? Q4、如何解决NER实体span过长的问题? Q5、如何客观看待BERT在...

  • 新职业教育的三节课,凭什么做到今天这样

    历时7天、翻遍15个平台渠道、访谈25位参与课程的从业者、挖掘了136条推文的标题和内容,我们得到了12500字的拆解。可以点击右上角☝:收藏、分享、在看,不用担心看一半,找不到文章。 本文信息公开来源:三节课官方公众号、虎嗅网、36氪、深网、东方财富网、新榜、知乎、简书、增长黑盒、短书··· 我们认为,这可能比任何官方复盘更能诠释:「三节课」是如何在3年内,做到互联网职业教育(Almost...

  • 2. linux安装(1)

    目录 2.1 安装Linux系统对硬件有什么要求? 2.2 虚拟机是什么 2.3 VMware虚拟机安装Linux系统 VMware下载和安装 VMware 安装 Linux 系统 2.4 使用U盘安装Linux系统 前期准备 U 盘安装 Linux 系统 2.5 使用dd命令安装Linux系统 Linux dd 命令是什么 dd命令安装Linux详细步骤 2.6 使用LiveCD从光盘直接...

  • Python很难学吗?网友直呼:原来学霸是这样的,那我也可以!

    很多人觉得Python难学,学着学着,就从入门学到放弃了,那学霸们,是如何来学习Python的呢?学霸优秀且异于常人,当然是有原因的,包括学习方法,资料,自律等等的因素,小编觉得这其中最重要的,莫过于他们手中的学习清单了吧,今天,一向宠粉的小编,给小伙伴们整理了学霸们的Python学习清单 Python是以简单易学著名的,自学的话是完全可以学会的。 除此之外呢,小编还给大家准备了一份大礼,P...

  • Netflix 微服务架构设计解析

    1 概述 数年来,Netflix 一直是全球体验最好的在线订阅制视频流媒体服务,其流量占全球互联网带宽容量的 15%以上。 在过去的2019 年,Netflix 已经有 1.67 亿名订阅用户,平均每个季度新增 500 万订户,服务覆盖全球 200 多个国家 / 地区。 Netflix 用户每天在 4000 多部电影和 47000 集电视剧上花费超过 1.65 亿小时的时间。从工程角度看,这...

  • 从源码到架构的Spring全家桶系列笔记,已整理完,赶紧收藏!

    因粉丝强烈要求小编整理一套spring全系列资料集合,不然就要集体给小编寄刀片了,今天给大家连夜整理这一套可以说是全网最全最细的Spring全系列资料,今天毫无保留的给大家分享出来一起学习!一起牛逼! 由于篇幅原因,为了不影响阅读在这就展示了部分知识点目录和内容截图,这一套spring全系列资料集合笔记可在文末获取免费领取方式! 一共四份,分别是: Spring高级源码笔记 Spring B...

  • 【收藏】万字综述,核心开发者全面解读PyTorch内部机制

    (给机器学习算法与Python学习加星标,提升AI技能) 选自ezyang博客 作者:Edward Z. Yang 本文由机器之心(nearhuman2014)整理 斯坦福大学博士生与 Facebook 人工智能研究所研究工程师 Edward Z. Yang 是 PyTorch 开源项目的核心开发者之一。他在 5 月 14 日的 PyTorch 纽约聚会上做了一个有关 ,本文是他有关PyTo...

  • 掌门教育微服务体系 Solar

    点击上方蓝字,关注凌云时刻微信公众号 凌云时刻 · 技术 导读:在高速发展的时候,公司规模越来越大,老师人数越来越多,这时候公司不能铺太多人去做运营与服务,必须提高每个人效,这就需要技术驱动。因此掌门教育转变成一家技术驱动型的公司,如果被迫成为一家靠资金驱动的公司就活不下去了。——张翼(掌门教育创始人兼CEO) 联席作者 | 吴毅挺、任浩军、张彬彬、廖梦鸽、张金星、胡振建 郑重鸣谢 | Na...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。