FastDFS基础

FastDFS分布式文件存储系统

(1)背景:①早期的网站,将静态文件(图片等)直接存放在项目文件夹内,优点(简单方便快捷),缺点(耦合度高,静态文件访问占用资源多);
②后来将静态文件分离存储在一个单独的文件服务器上,优点(解耦,降低网站服务器压力,便于扩容、备份、负载均衡等),缺点(垂直扩展性、容灾差,单机性能瓶颈);
③分布式文件存储系统,分为三部分,文件存储系统(保存文件)、文件容灾系统(相互备份)、文件访问调度仲裁系统(调配资源,决定存储位置),优点(极大扩展能力,高可用性,弹性存储),缺点(系统复杂度高,需要更多硬件资源)。

(2)FDFS简介:①FastDFS是一个开源的轻量级分布式文件系统,它解决了大数据量存储和负载均衡等问题,特别适合以中小文件(建议范围:4KB-500MB)为载体的在线服务,使用纯C实现;
②其分为三个部分:
tracker server(追踪/调度服务器),主要做调度工作,起负载均衡的作用,在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽,且Tracker是FastDFS的协调者,负责管理所有的storage server和group,通过心跳机制与storage建立联系并更新自己的信息,其数据全部存储在内存中;
storage server(存储/数据服务器),以组(group)为单位组织(便于应用隔离、负载均衡、副本数定制(group内storage server数量即为该group的副本数),如将不同应用的数据存储至不同的组,同组内不同服务器上的文件是完全相同的),一个group内包含多台storage机器,数据互为备份,存储空间以group内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费;
client(客户端),作为业务请求的发起方,通过专有接口,使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互。

(3)FastDFS文件上传下载流程如图所示。
在这里插入图片描述
在这里插入图片描述
(4)配置FastDFS与Nginx
①安装libfastcommon,安装FastDFS
②配置tracker/storage/client.conf
③安装nginx并添加模块,编译,安装
④配置mod_fastdfs.conf,nginx.conf,移动一些文件
⑤安装py3Fdfs,操作方式有改变,详参。
注:根据环境及所用文件版本不同其配置与一些修改方式可能有所不同,需要时参考官网文档与网上资料。

(5)在FastDFS中,client从tracker获得地址,向storage访问,使用nginx代理storage,即client向Nginx(建立了一个web服务器)访问,Nginx处理client的请求并从storage获得静态文件并返回给client,将静态文件的url直接匹配给Nginx服务器,而不是用Django服务器去解析。

(6)其交互如图所示。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值