FastDFS简介

FastDFS

  • Tracker:调度器,负责维持集群的信息,例如个group和其内部的storage node,这些信息也是storage node报告生成,每个storage node会周期性的向tracker发心跳信息
  • storage server:以group为单位进行组织,任何一个storage server都属于某个group,一个group应该包含多个storage server;在同一个group内部,个storage server的数据互相冗余

文件访问操作:upload,download , append , delete

FID:

​ group/M00/00/00/FILE_ID

Upload File:

  1. 由client发起上传连接请求
  2. 由tracker查找可用的storage server
  3. 找到可用的storage server后,将其(ip:port)返回给client
  4. 上传文件,包括文件的属性信息和文件内容
  5. 生成文件的fid,将client提交的内容写入选定的位置
  6. 返回fid
  7. 同步存储文件信息到同组的其他节点

tracker如何挑选组

  1. rr
  2. 指定组
  3. 基于可用空间进行均衡

如何在组中挑选storage server

  1. rr
  2. 以ip为次序,找第一个
  3. 以优先级为序,找第一个

如何选磁盘

  1. rr
  2. 剩余可用空间大者优先

生成FID

由源头storage server ip , 创建时候的时间戳 , 大小 , 文件的校验码和一个随机数进行hash计算后生成

文件同步

每个storage server在文件存储完成后,会将其信息存储在binlog

Download File

客户端上传文件完成后,会收到storage server返回的fid , 而后再次用到时, client会可根据此文件发出请求

  1. client向tracker发请求
  2. tracker根据文件名定位到group, 并返回次group内的某一个storage server的信息(ip:port)给client
  3. client向得到ip:port发请求
  4. storage server查找文件,并返回其内容给client
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值