FastDFS的工作机制及优劣分析

一、FastDFS简介

FastDFS是一款开源的轻量级分布式文件系统,最早在ali,为易道用车架构师余庆所写。它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。FastDFS为互联网应用量身定做,追求高性能和高扩展性,更适合称作应用级的分布式文件存储服务。它只能通过专有API对文件进行存取访问,不支持POSIX接口方式,通用性较低。

在语言支持方面,目前提供了C、java、php、.NET的API。

现应用在jd、taobao、58、uc、51cto。

二、FastDFS用途

1)FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡。

2)FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储 ,支持存储服务器在线扩容。

3)FastDFS特别适合大中型网站使用,用来存储资源文件(如:图片、文档、音频、视频等等)。

三、FastDFS工作机制

1. 集群架构图

在这里插入图片描述

FastDFS集群架构由追踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成。

tracker server:主要做调度工作,在访问中起负载均衡作用,在内存中记录集群中group和storage server的状态信息,是连接client和storage server的枢纽,因为相关信息全部在内存中,tracker server的性能非常高(它本身所需负载很小),一个较大的集群中(如上百个group)有3台就足够。

storage server:文件和文件属性(如metadata)都保存在该server上,存储服务包括文件存储,文件同步,提供文件访问接口,同时以key-value的方式管理文件的元数据。

FastDFS架构解读

  • 两个角色,tracker server和storage server,不需要存储文件索引信息。
  • 所有服务器都是对等的,不存在Master-Slave关系。
  • 存储服务器采用分组方式,同组内存储服务器上的文件完全相同(RAID 1)。
  • storage集群中,组(或叫卷)和组之间不通信是相互独立的,storage主动向tr
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FastDFS工作流程如下: 1. 客户端向Tracker Server提交文件上传请求。 2. Tracker Server根据一定的策略选择一个可用的Storage Server作为目标,并返回给客户端。 3. 客户端通过与选中的Storage Server建立连接,并将文件上传至该Storage Server。 4. Storage Server接收到文件后,将文件存储在本地,并生成一个唯一的文件ID。 5. Storage Server将文件ID返回给客户端。 6. 客户端可以通过文件ID来访问或下载文件。 7. 如果需要删除文件,客户端可以向Tracker Server发送删除请求,Tracker Server会将该请求传递给对应的Storage Server,然后Storage Server删除文件。 8. 如果需要追加文件内容,客户端可以向Tracker Server发送追加请求,Tracker Server会将该请求传递给对应的Storage Server,然后Storage Server追加文件内容。 总结起来,FastDFS工作流程包括客户端向Tracker Server提交文件上传请求,Tracker Server选择一个可用的Storage Server作为目标,客户端将文件上传至Storage Server,Storage Server存储文件并返回文件ID给客户端,客户端可以通过文件ID来访问或下载文件,还可以发送删除请求或追加请求来操作文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [FastDFS原理及工作流程](https://blog.csdn.net/weixin_46451496/article/details/106282943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值