`

FastDFS 原理介绍

阅读更多

FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balancing.

 

 

<!--EndFragment-->

Introduction

FastDFS is an open source high performance distributed file system. It's major functions include: file storing, file syncing and file accessing (file uploading and file downloading), and it can resolve the high capacity and load balancing problem. FastDFS should meet the requirement of the website whose service based on files such as photo sharing site and vidio sharing site.

 

FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

<!--EndFragment-->

Details

FastDFS has two roles: tracker and storage. The tracker takes charge of scheduling and load balancing for file access. The storage store files and it's function is file management including: file storing, file syncing, providing file access interface. It also manage the meta data which are attributes representing as key value pair of the file. For example: width=1024, the key is "width" and the value is "1024".

 

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。

 

The architecture of FastDFS:

 

FastDFS的架构:

 

 

 

The tracker and storage contain one or more servers. The servers in the tracker or storage cluster can be added to or removed from the cluster by any time without affecting the online services. The servers in the tracker cluster are peer to peer.

 

The storarge servers organizing by the file volume/group to obtain high capacity. The storage system contains one or more volumes whose files are independent among these volumes. The capacity of the whole storage system equals to the sum of all volumes' capacity. A file volume contains one or more storage servers whose files are same among these servers. The servers in a file volume backup each other, and all these servers are load balancing. When adding a storage server to a volume, files already existing in this volume are replicated to this new server automatically, and when this replication done, system will switch this server online to providing storage services. When the whole storage capacity is insufficiency, you can add one or more volumes to expand the storage capacity. To do this, you need to add one or mone storage servers.

The identification of a file is composed of two parts: the volume name and the file name.

 

 跟踪器和存储节点都可以由一台多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。


为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷 的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起 到了冗余备份和负载均衡的作用。

在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。

当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。

 

 

The file upload flow:

 

 1. client询问tracker上传到的storage,不需要附加参数;
 2. tracker返回一台可用的storage;
 3. client直接和storage通讯完成文件上传。

 

 

 

The file download flow:

 

 

 1. client询问tracker下载文件的storage,参数为文件标识(组名和文件名);
 2. tracker返回一台可用的storage;
 3. client直接和storage通讯完成文件下载。

0
0
分享到:
评论

相关推荐

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

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

    FastDFSClient C#源码

    通过学习和理解FastDFSClient C#源码,开发者不仅可以深入理解FastDFS的工作原理,还能掌握如何在.NET环境中高效地使用分布式文件系统,为大型网站、企业应用等提供稳定可靠的文件存储解决方案。同时,源码分析有助...

    fastdfs最新版,FastDFS分布式文件系统

    压缩包内的"说明.htm"可能是FastDFS的快速入门指南或者更新日志,详细介绍了如何安装、配置以及使用这个最新版的FastDFS。而"fastdfs-6.08"很可能是FastDFS的具体版本号,其中可能包含FastDFS的所有源文件,包括...

    FastDFS分布式文件系统 v6.12.0.zip

    本文将围绕FastDFS的核心特点、工作原理、安装部署以及常见应用场景进行详细介绍。 一、FastDFS核心特点 1. 高性能:FastDFS采用客户端/服务器(C/S)架构,支持TCP/IP通信协议,能够高效地处理大量并发读写请求。...

    fastDFS文档+jar包

    下面将详细阐述FastDFS的核心特点、工作原理以及相关组件。 一、FastDFS简介 FastDFS由C语言编写,设计目标是为互联网应用提供可扩展的高可用分布式文件系统。它具有以下主要特性: 1. 轻量级:FastDFS对硬件资源...

    fastDFS断点续传实例

    1. **FastDFS架构与原理** FastDFS由两部分组成:跟踪服务器(Tracker Server)和存储服务器(Storage Server)。跟踪服务器负责调度任务,存储服务器负责存储和提供文件服务。文件上传时,客户端首先连接到跟踪...

    fastDFS的Java程序

    在Java程序中使用FastDFS,首先需要了解FastDFS的架构和工作原理。FastDFS分为两部分:Tracker服务器和Storage服务器。Tracker负责调度,管理Storage节点,处理客户端的连接请求,进行负载均衡;Storage则负责存储...

    整合java实例 FastDFS

    **FastDFS概述** ...以上是关于"整合java实例 FastDFS"的主要内容,通过理解FastDFS的基本原理和Java客户端的使用方法,开发者可以有效地将FastDFS集成到Java项目中,实现高效、稳定的文件存储和访问功能。

    fastdfs5.11相关安装包.zip

    FastDFS 5.11版本是其稳定且功能丰富的版本之一,本文将详细介绍在Linux环境下安装FastDFS及其相关组件的过程,包括fastdfs-nginx-module、fastdfs、nginx以及libfastcommon模块。 一、FastDFS简介 FastDFS提供了...

    fastdfs_clinet

    - **FastDFS原理**:了解FastDFS如何实现文件分布式存储,包括其数据和元数据的管理机制。 - **FastDFS客户端API使用**:掌握如何在Java代码中调用FastDFS API进行文件操作。 - **Maven基本用法**:学习如何配置...

    FastDFS分布式文件系统.docx

    8.能够理解FastDFS文件同步原理 9.能够掌握FastDFS文件合并存储机制 10.能够掌握FastDFS图片压缩机制 11.能够理解FastDFS快速定位文件机制 后期课程: 1、es 2、RocketMQ 3、授权中心 (非对称加密(公钥私钥),...

    fastDFS相关软件.rar

    2. FastDFS工作原理: - 文件上传:客户端首先连接Tracker Server,Tracker根据当前存储状况分配合适的Storage Server,客户端直接与该Server交互,完成文件上传。文件会被切分成块,并在同一个Group的不同Storage ...

    fastDFS资源包合集

    在Linux CentOS 6.x环境下搭建FastDFS集群,首先要理解FastDFS的核心组件和工作原理。FastDFS主要包括两个主要部分:跟踪服务器(Tracker Server)和存储服务器(Storage Server)。Tracker Server负责调度任务,...

    fastdfs_client_v1.20.jar

    理解其工作原理和使用方法,对于构建高效稳定的文件服务系统至关重要。在实际应用中,结合系统需求进行适当的配置和优化,能够充分发挥FastDFS的优势,满足各种复杂场景下的文件存储和访问需求。

    fastdfs-6.07.tar.gz

    本文将以"fastdfs-6.07.tar.gz"为例,详细介绍FastDFS的核心功能、工作原理以及如何部署与使用。 一、FastDFS核心功能 1. 文件存储:FastDFS支持文件的上传和下载操作,文件存储在服务器集群上,提供高可用性和...

    fastdfs-client-java-1.27.zip

    本文将深入探讨FastDFS的Java客户端1.27版本,包括其核心特性、工作原理以及如何在项目中进行集成和应用。 FastDFS的核心特性主要体现在以下几个方面: 1. **分布式文件存储**:FastDFS能将文件分散存储在多台...

    fastdfs-client-java-1.29-SNAPSHOT.jar

    这个类通常包含了建立连接、发送请求、接收响应等关键方法,是理解FastDFS客户端工作原理的重要入口。开发者可以通过查看这个源代码,了解文件上传、下载的具体实现,以及如何配置连接参数,处理异常等细节。 `fdfs...

    fastdfs断点续传代码

    对于开发者来说,理解FastDFS的工作原理和API使用,以及如何在代码层面实现断点续传的逻辑,是非常关键的技能。在实际项目中,可以结合具体的业务需求和环境进行优化,例如使用异步上传、多线程处理等技术进一步提升...

    FastDFS搭建文件管理系统,亲测,可用,详细

    ### FastDFS搭建文件管理系统...以上内容详细介绍了FastDFS的原理及其在Linux CentOS环境下搭建文件管理系统的具体步骤,同时还包含了Nginx的安装配置和Java客户端的使用方法,希望能帮助您更好地理解和使用FastDFS。

Global site tag (gtag.js) - Google Analytics