FastDFS分布式文件系统架构设计

目录

1.海量文件存储性能瓶颈

2.文件服务器选型

问题

文件服务对比

3.FastDFS文件系统

简介

FastDFS架构

上传文件

文件名

下载文件

同步状态


1.海量文件存储性能瓶颈

单点架构:

 

集群架构:

 

负载均衡、文件服务器:

项目只负责业务的处理,文件服务器只负责文件存储(下载,删除,访问)

2.文件服务器选型

问题

1)性能

2)功能支持程度 (上传,下载,删除,水印,压缩,访问..)

3)开发语言

4)有多少公司在使用

5)社区是否活跃

6)稳定性,是否支持集群

7)是否有完善文档

文件服务对比

GFS google 文件系统

小型企业:

云存储服务器 --- 500G --- 1000

中大型企业:

FastDFS 分布式文件系统

3.FastDFS文件系统

简介

FastDFS 特点:

1、c语言开发

2、专门为互联网量身定制 (存储中小型文件) ---- IDC --- 200亿

3、在线扩容、冗余备份、负载均衡

4、文件存储、文件同步、文件访问,上传,下载

中小型文件:1M以下是小文件, 1M  500M—中文件

FastDFS架构

Client(客户端:application应用程序)

Tracker: 调度服务器,负载均衡服务器

Storage: 存储文件

Tracker服务器:

1、tracker集群服务器是相互独立的服务器

2、storage 集群服务器定时向tracker汇报自身状态信息(30s)

      健康信息

  同步信息

  磁盘是否还有空闲空间

  IP

3、负载均衡:

Storage存储服务:

 同组策略:

1、同组服务器数据是一样的

2、同组服务器数据要相互备份,服务器容量大小必须一致

3、同组之间服务器同步是在后台完成

4、同组集群:冗余备份,负载均衡

不同组策略:

1、组合组之间的文件是不相同的

2、整个组之间的容量集合就是整个文件系统的文件

3、分组就是文件系统的扩容

上传文件

互联网文件访问:

文件上传细节:

问题:

1、如何知道向那个group组中上传文件?

2、如何知道把文件写入同组中那个storage?

3、如何知道把文件写入到storage中那个磁盘?

文件名

当文件存储到某个子目录后,即认为该文件存储成功,接下来会为该文件生成一个文件名,文件名由group、存储目录、

两级子目录、文件名、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成

 M00: 虚拟磁盘路径

 思考:文件存储一定是存储磁盘上的,-- 磁盘目录—磁盘路径

store_path0=/kkb/fastdfs/storage ============== M00

store_path1=/home/yuqing/fastdfs2 ============ M01

目录:16*16*16*16 = 2的16次方

文件名:

 

1)源服务器IP

2)文件创建时间

3)文件大小

4)文件crc32

5)随机数

把以上数据Base64进行编码措施。

下载文件

同步状态

  • FDFS_STORAGE_STATUS_INIT      初始化,未得到同步源服务器
  • FDFS_STORAGE_STATUS_WAIT_SYNC 等待同步
  • FDFS_STORAGE_STATUS_SYNCING   同步中
  • FDFS_STORAGE_STATUS_DELETED   删除
  • FDFS_STORAGE_STATUS_OFFLINE   离线
  • FDFS_STORAGE_STATUS_ONLINE    在线,尚不能提供服务
  • FDFS_STORAGE_STATUS_ACTIVE    在线,可以提供服务
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xianghan收藏册

极简精品作,一分也是一份鼓励哦

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

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

打赏作者

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

抵扣说明:

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

余额充值