FastDFS架构分析

FastDFS主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡。FastDFS非常适用于基于文件服务的站点,。

FastDFS由跟踪服务器(tracker server)、**存储服务器(storage server)客户端(client)**三个部分组成,主要解决海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size < 500MB)为载体的在线服务,例如图片分享和视频分享网站。

FastDFS架构如下所示:

在这里插入图片描述

在这里插入图片描述

fastdfs由三部分组成:

  • 跟踪服务器tracker server,负责管理和协调stroage server 和 group
  • 存储服务器stroage server,负责存储文件,支持小文件合并为trunk,以及大文件存储
  • 客户端client,对外提供统一接口,上传、下载、删除等操作

各部分的作用:

1.Tracker Server

每个storage在启动后会主动连接tracker server上报自己的信息如 所属group、最近同步完成时间,并保持周期性心跳,tracker根据心跳信息,建立group->[storage server]的映射表

cluster中每一个tracker是完全对等的,所有的tracker都接受stroage的心跳信息,生成元数据信息来提供读写服务。

2.Storage Server

storage server以group为单位,每个group内有多个storage,数据互相备份,各group之间独立

以group为单位的存储能进行应用数据隔离、负载均衡,比如将不同应用数据存到不同的group就能隔离应用数据和负载均衡,缺点是group容量受单机storage容量限制

group内每个storage的存储依赖于本地文件系统,storage可配置多个数据存储目录,比如有10块磁盘,分别挂载在/data/disk1-/data/disk10,则可将这10个目录都配置为storage的数据存储目录。

storage在启动后会创建二级目录,每级256个,共65535个文件,新的文件会根据fileid进行二次hash,路由到一个二级子目录中,作为本地文件存储

文件上传吞吐量

1.增加group内storage能否提升上传效率?

不会,实际会影响上传速度,因为需要多备份

2.增加group数量是否能提升上传效率?

可以,上传请求量大时可以提升并发上传效率

文件下载吞吐量

1.增加group内storage能否提升下载效率?

可以,下载请求量大时可以提升并发下载效率

2.增加group数量是否能提升下载效率?

不能,因为各group间独立,数据隔离

推荐学习 https://xxetb.xetslk.com/s/p5Ibb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wjq++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值