fastdfs 沧海一粟

fastdfs 的冰山一角

基本点

  • 访问方式: http (必要时,配置nginx)
  • 核心服务组件:
    • ​ tracker–跟踪服务器,均衡调度所有的storage服务和group,(客户端与数据服务器交互的桥梁)
    • storage–存储服务器,提供存储和备份服务,以group为单位,每个group中有多个storage,互为备份,每个storage在启动后会连接 Tracker,同步自己所属group等信息,并保持周期性心跳
    • Client:客户端,上传下载数据请求的发起方,通过专有接口,使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互
  • 优势
    • 对文件内容做hash处理,避免出现重复文件
    • 下载文件支持HTTP协议,可基于内置Web Server或外部Web Server
    • 支持在线扩容,动态添加卷
    • 支持文件冗余备份和负载均衡
    • 支持大并发访问,整体性能更好
  • 劣势
    • 单线程数据同步,仅适合存储小文件(4KB到500MB之间)
    • 单个挂载点异常会导致整个存储节点下线
    • 缺乏多机房容灾支持
    • 静态的负载均衡机制
    • 直接按文件存储,可直接查看文件内容,缺乏文件安全性
    • 数据同步无校验,存在静默IO问题,降低系统可用性

数据流向与组织结构

img

文件上传:client发出upload指令至tracker,tracker进行调度上传进具体的group下的storage

  • 具体流程:

    当客户端请求Tracker进行上传操作时,会获取存储服务器相关信息,主要包括IP和端口。根据返回信息上传文件,通过存储服务器写入磁盘,并返回给客户端file_id、路径信息、文件名等信息。

    preview

文件下载:

  1. 在storage服务器上安装nginx来访问

  2. 下载时客户端可以选择任意Tracker server

    客户端带文件名信息请求Tracker,Tracker从文件名中解析出文件的group、大小、创建时间等信息,然后选择一个storage用来服务处理请求,返回对应文件

    preview

[外链图片转存中…(img-wDrBVgpA-1643348521924)]

参考图片来自网络
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值