`

【FastDFS专题】fastdfs使用实战(概念篇)

 
阅读更多

文章来自:http://lxsym.blog.51cto.com/1364623/744826/

 

1、FastDFS是什么
    FastDFS是一个开源的轻量级分布式文件系统,纯C实现,支持Linux、FreeBSD等UNIX系统,FastDFS可以看做是基于文件的key value pair存储系统。
    FastDFS有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存储文 件,完成文件管理的所有功能:存储、同步和提供存取接口,同时对文件的metadata进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key valuepair)方式表示,如:width=1024,其中的key为width,value为1024。文件metadata是文件属性列表,可以 包含多个键值对。
 
2、FastDFS的特点
    分组存储,灵活简洁
    对等结构,不存在单点 
    文件ID由FastDFS生成,作为文件访问凭证。
    FastDFS不需要传统的name server
    和流行的web server无缝衔接,FastDFS已提供apache和nginx扩展模块
    大、中、小文件均可以很好支持,支持海量小文件存储
    支持相同文件内容只保存一份,节省存储空间
    存储服务器上可以保存文件附加属性
    支持多块磁盘,支持单盘数据恢复
 
3、FastDFS架构图如下:

    跟踪器和存储节点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。
    为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加 就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和 负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽 时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
    FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。
 
4、FastDFS实现过程
上传文件交互过程:


  1. Client询问Tracker server上传到的Storage server;
  2. Tracker server返回一台可用的Storage server,返回的数据为该Storage server的IP地址和端口;
  3. Client直接和该Storage server建立连接,进行文件上传,Storage server返回新生成的文件ID,文件上传结束。

下载文件交互过程:

lxsym.blog.51cto.com
  1. Client询问Tracker server可以下载指定文件的Storage server,参数为文件ID(包含组名和文件名);
  2. Tracker server返回一台可用的Storage server;
  3. Client直接和该Storage server建立连接,完成文件下载。

 
5、同步机制
    同一组内的storage server之间是对等的,文件上传、删除等操作可以在任意一台storage server上进行;
    文件同步只在同组内的storage server之间进行,采用push方式,即源服务器同步给目标服务器;
    源头数据才需要同步,备份数据不需要再次同步,否则就构成环路了;
上述第二条规则有个例外,就是新增加一台storage server时,由已有的一台storage server将已有的所有数据(包括源头数据和备份数据)同步给该新增服务器。
来自http://bbs.chinaunix.net/thread-3674148-1-4.html

 

本文出自 “Richard Shen运维/架构” 博客,请务必保留此出处http://lxsym.blog.51cto.com/1364623/744826

分享到:
评论

相关推荐

    【FastDFS专题】fastdfs使用实战(Java实例篇)

    NULL 博文链接:https://josh-persistence.iteye.com/blog/2067574

    FastDFS分布式存储实战 - FastDFS.pdf

    FastDFS分布式存储介绍

    fastdfs 安装及使用

    5. **启动服务**:使用`/usr/local/fastdfs/bin/fdfs_trackerd /etc/fdfs/tracker.conf`和`/usr/local/fastdfs/bin/fdfs_storaged /etc/fdfs/storage.conf`启动Tracker和Storage服务。 6. **测试连接**:使用`/usr/...

    FastDFS分布式存储实战

    ### FastDFS分布式存储实战 #### 技术选型与背景 在现代互联网应用中,海量数据的高效存储和管理成为了亟待解决的问题之一。传统的存储解决方案(如Rsync、DAS、NAS、SAN等)虽然在某些场景下仍然适用,但随着数据...

    FastDFS 分布式存储 实战

    FastDFS的设计理念是尽量避免使用复杂的数据库,通过Tracker和Storage服务器的协作,完成存储服务的调度、负载均衡和故障恢复,提高了整体的系统性能。 FastDFS的优势在于其出色的性能和稳定性,尤其在处理小文件和...

    FastDFS 使用经验分享

    ### FastDFS 使用经验分享 #### 经验一:FastDFS文件下载恢复原始文件名 **应用背景** 在使用FastDFS存储文件时,当文件被上传至服务器后,Storage服务端会返回一个文件索引(FID)。这个FID通常不是原始文件名,...

    FastDFS和Linux下安装使用FastDFS

    ### FastDFS 和 Linux 下安装使用 FastDFS #### 一、FastDFS 概述 FastDFS 是一款由淘宝的余庆先生开发的轻量级、高性能的开源分布式文件系统,使用纯 C 语言编写而成。FastDFS 能够满足大规模文件存储的需求,...

    FastDFS分布式存储实战.pdf

    ### FastDFS分布式存储实战知识点详解 #### 一、技术选型背景及常见分布式存储对比 在选择合适的存储方案时,企业通常会面临多种选择。传统的存储解决方案如Rsync、DAS(包括IDE/SATA/SAS/SCSI等块设备)、NAS...

    FastDFSClient C#源码

    在C#环境下,FastDFSClient库提供了与FastDFS服务器交互的接口,使得开发者可以方便地在.NET环境中使用FastDFS服务。 FastDFSClient C#源码是FastDFS在.NET平台上的客户端实现,它是基于C#语言编写的,可以在Visual...

    fastDFS+Nginx_fastdfs_fastdfs、nginx_fastdfs/nginx_

    在IT行业中,文件存储和管理是企业日常运营中不可或缺的一部分。FastDFS是一个开源的轻量级分布式文件系统,专门针对...但作为初学者,理解并熟练掌握FastDFS+nginx的搭建和使用,是迈进分布式文件系统领域的第一步。

    fastdfs安装包(fastdfs-6.06,fastdfs-nginx-module-1.22,nginx-1.16.1)

    fastdfs-nginx-module是FastDFS的HTTP访问模块,通过该模块,用户可以通过HTTP协议直接访问存储在FastDFS中的文件,无需通过FastDFS客户端,大大简化了用户的使用流程。 最后,我们提到的是nginx-1.16.1。Nginx以其...

    fastdfs安装包全.zip

    启动Tracker和Storage服务,一般使用`/etc/init.d/fastdfs_tracker start`和`/etc/init.d/fastdfs_storage start`命令。确保服务正常启动,可以通过日志文件查看启动状态。 6. **Nginx整合FastDFS** 如果需要通过...

    fastDFS 介绍文档,源代码,使用样例,JAR包

    标题中的"fastDFS介绍文档"提供了关于系统的基本概念、架构、工作原理和配置指南等信息。文档会详细阐述FastDFS如何通过Tracker服务器进行文件操作的调度,以及Storage服务器如何存储和分发文件。通常,介绍文档会...

    FastDFS使用和优化.docx

    FastDFS 使用和优化 FastDFS 是一个开源的分布式文件系统,旨在解决大规模文件存储和高性能文件访问问题。以下是 FastDFS 的相关知识点。 一、FastDFS 简介 FastDFS 的整体架构主要包括三个角色:Tracker、...

    fastdfs安装包以及步骤.zip

    总结,安装FastDFS在银河麒麟服务器上涉及多个步骤,包括环境准备、源码编译、服务启动、集群配置、客户端工具使用及后续的安全优化。遵循这些步骤,可以构建一个稳定可靠的文件服务器,满足企业的大规模文件存储和...

    linux下搭建FastDFS+Nginx服务器

    首先,我们需要了解FastDFS的基本概念。FastDFS是一个轻量级的分布式文件系统,它为互联网应用提供了高可用、高并发的文件存储解决方案。它的主要特点是将文件存储和元数据分离,通过Tracker服务器管理文件的存储...

    fastdfs - spring mvc 集成

    java 集成 fastdfs - spring mvc 集成 java 集成 fastdfs - spring mvc 集成 java 集成 fastdfs - spring mvc 集成 java 集成 fastdfs - spring mvc 集成 java 集成 fastdfs - spring mvc 集成

    fastDFS文件系统搭建

    - 若使用`libfastcommon-1.0.7`与`fastdfs-5.08`集成时出现编译错误,可尝试升级`libfastcommon`版本至`1.0.35`解决该问题。 - 安装 - 命令:`# ./make.sh install` #### 三、服务配置 完成安装后,接下来是对...

Global site tag (gtag.js) - Google Analytics