FastDFS(分布式文件系统)

FastDFS是阿里巴巴开源的轻量级分布式文件系统,适用于大数据量文件存储。其特点是高可用、分组存储、对等结构,支持高并发,并提供文件上传、下载、删除等操作。工作原理涉及Tracker和Storage服务器,文件ID作为访问凭证。FastDFS可通过Apache和Nginx扩展模块与Web服务器无缝连接,支持多盘数据恢复和断点续传。
摘要由CSDN通过智能技术生成
1. 简介
  • 概念
    • FastDFS是阿里巴巴开源的一套轻量级的分布式文件系统,它对文件进行管理
    • FastDFS的源代码由C语言开发,目前可运行在Linux,FreeBSD,Unix等类操作系统上
    • 使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
  • 解决问题
    • FastDFS解决了大数据量文件存储和读写分离,备份容错,负载均衡,动态扩容等问题
  • 功能
    • 文件存储、文件同步、文件访问(文件上传、文件下载)等
  • 适用场景
    • 特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
2. FastDFS主要特性
  • 为互联网量身定制,海量数据文件存储。
  • 高可用(同组备份机制)。
  • FastDFS不是通用的文件系统,只能通过api来访问,目前提供c,java,php客户端。phtyon由第三方开发者提供。
  • FastDFS可以看作是基于key/value pair存储系统,也许称为分布式文件存储服务更合适。
  • 支持高并发
3. FastDFS提供的功能
  • upload :上传文件
  • upload_appender:上传appender文件,后续可已对其进行append操作
  • upload_slave:上传从文件
  • download: 下载文件
  • delete:删除文件
  • append:在已有文件后追加内容
  • set_metadata:设置文件附加属性
  • get_metadata:获取文件附加属性
4. FastDFS的特点
  • 分组存储、灵活简洁
  • 对等结构、不存在单点
  • 文件ID有FastDFS生成,作为文件访问凭证。FastDFS不需要传统的name server
  • 和流行的web server无缝连接,FastDFS已提供apache和nginx扩展模块
  • 大、中、小文件均可以很好支持,支持海量小文件存储
  • 支持多块磁盘,支持但盘数据恢复
  • 支持相同文件内容只保存一份,节省存储空间
  • 存储服务器上可以保存文件附加属性
  • 下载文件支持多线程方式、支持断点续传
5. 工作原理
  • FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。
  • Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务器。
  • Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上,Storage server 没有实现自己的文件系统而是利用操作系统的文件系统来管理文件。可以将storage称为存储服务器。
    在这里插入图片描述
  • 每个 tracker 节点地位平等,收集 Storage 集群的状态。
  • Storage 分为多个组,每个组之间保存的文件是不同的。每个组内部可以有多个成员,组成员内部保存的内容是一样的,组成员的地位是一致的,没有主从的概念。
6. 文件的上传 在这里插入图片描述
  • 客户端上传文件后存储服务器将文件 ID 返回给客户端,此文件 ID 用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。
7. 文件的下载 在这里插入图片描述
  • 客户端下载请求到Tracker服务,Tracker返回给客户端storage的信息,客户端根据这些信息进行请求storage获取到文件。
8. 基本使用
  • 在linux中通过docker搭建FastDFS环境,下面是通过Java程序来使用FastDFS
  • 引入依赖

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值