畅购商城:分布式文件系统FastDFS

畅购商城文章系列

畅购商城:分布式文件系统FastDFS
畅购商城:商品的SPU和SKU概念
畅购商城:Lua、OpenResty、Canal实现广告缓存
畅购商城:微服务网关和JWT令牌(上)
畅购商城:微服务网关和JWT令牌(下)
畅购商城:Spring Security Oauth2 JWT(上)
畅购商城:Spring Security Oauth2 JWT(下)
畅购商城:购物车
畅购商城:订单
畅购商城:微信支付
畅购商城:秒杀(上)
畅购商城:秒杀(下)
畅购商城:分布式事务
畅购商城:集群高可用


一、FastDFS简介

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

二、FastDFS体系架构

1.FastDFS架构介绍

FastDFS 由跟踪服务器(Tracker Server)存储服务器(Storage Server)和客户端(Client)构成。即客户端请求 Tracker server 进行文件上传、下载,通过Tracker server 调度最终由 Storage server 完成文件上传和下载。

  1. Tracker server :负责任务调度,负载均衡管理以及Storage的注册中心功能,通过 Tracker server 在文件上传时可以根据一些策略找到Storage server 提供文件上传服务。
  2. Storage server :负责文件上传和下载以及文件的删除等管理功能。客户端上传的文件最终存储在 Storage 服务器上,Storage server 没有实现自己的文件系统而是利用操作系统的文件系统来管理文件。
  3. Storage是一个集群,集群里面分为很多个Group,每个Group里面有不止一台Storage。同样的,Tracker也是集群。
    a. 可以做到负载均衡,因为并不是只有一台Storage为客户端提供服务,而是由Tracker动态地分配相对空闲的Storage给客户端提供服务,使得不会有个别Storage压力过大。
    b. 每个Group里面不止一个Storage,一个Group里面的所有Storage都是同步备份数据的,这是为了实现容灾,即使一台Storage宕机数据也不会丢失,除非全部宕机。
    c. 实现线性扩容,如果Storage的空间不够用了,就可以直接添加一组Storage,然后注册到Tracker中。在这里插入图片描述

2.文件上传流程

  1. Storage会定时向Tracker上报自己的状态信息;
  2. 当Client给Tracker发送请求的时候,Tracker会查询是否有可用的Storage;
  3. 有的话就将Storage的信息给Client,Client在得到Storage的信息后,就将文件上传到Storage;
  4. Storage先是生成一个file_id,再将文件写入磁盘中保存,最后将file_id返回给Client。
    在这里插入图片描述

3.使用FastDFS的优缺点

优点:

  1. FastDFS相比其它的分布式文件系统它适用小文件存储,它不对文件进行分块存储,也不用对文件进行合并处理,所以性能比GFS、HDFS等通用文件系统的性能要高。
  2. 管理端(Tracker)有高可用、负载均衡功能,可以承载高并发。
  3. 存储端(Storage)冗余备份,高可用、无限扩容。

缺点:

  1. 不支持文件分片,FastDFS不适合大文件存储。
  2. 同步机制不支持文件正确性校验,降低了系统的可用性。

4.FastDFS功能还有支持断点续传的功能

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值