FastDFS 的简单介绍

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)中小文件(建议范围:4KB < file_size <500MB)等,解决了大容量存储和负载均衡的问题。 底层使用C语言编写。

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

作用:
    存储管理大量的文件

FastDFS工作流程:
    FastDFS分布式文件系统分为三个部分, client客户端(我们项目), trackerService(管理端), storageServer(存储端)


    client客户端: 也就是我们的项目调用管理端服务器, 管理端会给我们自动分配一个存储端的IP和端口
        我们拿着这个端口去存储, 存储端会返回给我们一个存储后的路径, 文件会自动被存储端重命名. 防止文件重名.
    trackerService管理端: 管理端不存储具体文件, 负责管理所有存储端机器的IP和端口以及他们是否启动的状态
        一般管理端至少两台机器, 做高可用集群, 双机热备, 做心跳检测, 主机死了备机替代主机工作.
        由于管理端会自动分配存储端的IP给我们使用, 所以说管理端具有负载均衡的功能, 这样fastDFS分布式文件系统
        才具有负载均衡的功能, 可以承载高并发存储任务.
    storageServer存储端:
        存储端两台机器为一组, 可以无限扩展, 这样理论上分布式文件系统的容量就可以无限大.
        两台为一组, 一台主机一台备机, 平时主机工作备机会向主机发送ping命令, 主机会给备机返回pong命令
        如果备机接收到pong认为主机活着, 如果接收不到认为主机死掉会替代主机工作. 这种机制叫做心跳检测可以
        保证机器的高可用, 我们向主机存储内容, 主机会将内容发送到备机, 主机和备机存储的内容是一模一样的
        这叫冗余存储. 可以进行容灾. 

上传交互过程:

1. client询问tracker上传到的storage,不需要附加参数;

2. tracker返回一台可用的storage;

3. client直接和storage通讯完成文件上传。

下载交互过程:

1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);

2. tracker返回一台可用的storage;

3. client直接和storage通讯完成文件下载。

需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。

优点:
    1. 有承载高并发存储的功能, 使用的是管理端的负载均衡功能
    2. 有高可用的特质: 不管管理端还是存储端都会用心跳检测机制, 实现高可用, 保证服务器任何时间都可以工作
    3. 有容灾的特性: 因为主机和备机存储的内容是一样的, 即使主机坏了, 备机中还有一模一样的文件内容.
    4. 存储容量理论上无限大, 所以有足够的可扩展性
缺点:
    贵, 照比以前简单存储到应用服务器上, 结构更为复杂, 需要的机器规模数更为庞大.

 

所学即所用,不做无用工。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值