在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
FastDFS分布式文件系统作为国内知名的系统级开源软件,使我们的工作变得更加高效简洁。大家对FastDFS分布式文件系统的了解有多少呢?现在,小编详细为大家讲解FastDFS分布式文件系统。

一、FastDFS简介
FastDFS提供的解决思路是引入一个跟踪服务器(tracker server),它用于记录每一个组内的存储服务器信息,存储信息是每个storage主动回报给tracker,有了这些信息之后,tracker就可以做调度工作了,看看谁的存储空间大,就把文件放过去。
二、FastDFS的特点
组与组之间是相互独立的
同一个组内的storage server之间需要相互备份
文件存放到一个storage之后,需要备份到别的服务器
tracker之间是不交互的
每个storgae server都需要向所有的tracker去主动报告信息
tracker与tracker之间是不知道彼此的存在的。
三、如何上传文件
为方便理解,这里假设上传的文件为:==Group1/M00/00/0C/wKjGgVgbV2-ABdo-AAAAHw.jpg==首先client向tracker发送上传链接请求,然后由tracker进行调度,查询可用的storage,并把该storgae对应的ip和端口发送给client;拿到了存储服务器信息,client就直接将文件上传到storage即可;storage会生成新的文件名再写入到磁盘,完成之后再把新的文件信息返回给client,client最后把文件信息保存到本地。需要注意的是,storage会定时向tracker回报信息。
四、FastDFS其他内容
防止盗链
为了防止辛辛苦苦上传的文件被别人盗去,可以通过给URL设置token来解决。FastDFS的防止盗链配置如下:
#是否做tokrn检查,缺省值为false
http.anti\_steal.check\_token=true
#生成token的有效时长/秒
http.anti\_steal.token\_ttl=900
#生成token的密钥,尽量设置长一些
http.anti\_steal.secret\_key=@#$%\*+\*&!~
FastDFS生成token策略为:token = md5(文件名,密钥,时间戳)
此处不再深入探讨存储合并的机制,因为它带来了一系列新的问题,比如同步时不仅需要记录大文件的名称,还需要进入小文件的名称,一下子变得麻烦多了;原来空闲空间管理直接通过操作系统就能计算出来,但是现在不行了,因为是创建了一个64M的块,这个块里面还有空闲空间,计算起来就很麻烦了。
总而言之,FastDFS把简洁和高效做到了极致,以上就是关于的FastDFS分布式文件系统全部讲解。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Linux和Ubuntu是什么关系?两者有区别吗?
Linux和Ubuntu是什么关系?两者有区别吗?对于不了解Linux的朋友来说,可能会说“我使用的是Linux操作系统”。其实Linux这个词本身指标是Linux内核。一般说的Linux系统其实是基于Linux内核的操作系统。而Ubuntu就是以Linux为内核的操作系统之一。
19166
2019-08-08 14:18:06
自动化运维要学习哪些内容?如何才能学会自动化运维?
由于运维知识对于零基础人员来说,更容易掌握,所以很多人纷纷进入到运维的岗位。殊不知因为自动化运维的发展以及普遍应用,基础运维人员也需要学习编程开发的知识。不懂开发的运维工程师也许未来就会被淘汰。那对于自动化运维而言,需要学习那些内容?如何才能学会自动化运维呢?
27238
2019-06-19 17:46:29
编辑神器Vim常用命令总结
Wim编辑器是一款基于WIMGAPI开发的WIM(Windows Imaging Format)镜像处理工具,Wim编辑器是一个可以独立使用的工具,Wim编辑器还包括多项实用功能,以下是小编整理的编辑神器VIM常用命令总结。
8853
2019-07-08 14:49:39
运维工程师平均月工资是多少?
互联网时代,计算机技术岗位永远是香饽饽。相比起研发技术岗位的工程师,还有一群鲜为人知的互联网幕后英雄,他们就是运维工程师。运维工程师的重要作用也是很明显的,他们掌握着能够为用户提供不间断互联网服务的最底层服务器。那么可能会有人好奇了,运维工程师平均月工资是多少呢?根据各大招聘网站的数据,运维工程师平均月工资基本在一万左右,根据能力的高低和岗位的不同,运维工程师之间的工资会有所差距。
44865
2019-09-29 14:55:08
如何学习嵌入式硬件?
学习嵌入式硬件需要有一定的硬件基础,熟练使用一种原理图PCB绘制,软件熟练掌握各种元器件的原理及电气特性,并依据此综合特性、成本、供应等各个方面进行器件选型等。硬件学习的范围很大,你需要学习的知识有很多,需要了解的面也有很多。
8020
2020-06-11 16:01:01
