在线客服
扫描二维码
下载博学谷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分布式文件系统全部讲解。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
编辑神器Vim常用命令总结
Wim编辑器是一款基于WIMGAPI开发的WIM(Windows Imaging Format)镜像处理工具,Wim编辑器是一个可以独立使用的工具,Wim编辑器还包括多项实用功能,以下是小编整理的编辑神器VIM常用命令总结。
8963
2019-07-08 14:49:39
2019年Linux运维面试题汇总
转眼又到秋招的时候,本文为大家汇总了2019年最新Linux运维面试题,希望能够帮助大家通过面试官的提问。每一个问题都是精华,大家一定要仔仔细细过一遍,第一遍看的时候可以先不看参考答案,检查一下运维方面的知识点是不是都掌握了。
11413
2019-08-28 19:58:33
什么是系统运维?运维工程师要掌握哪些技能?
回首过去的二十多年,不得不感慨互联网技术的飞跃发展。而信息技术的每一次革新,都是依靠着系统运维的支撑。运维作为技术岗位最不为人知的幕后英雄,是网络系统正常运行的有力保障。那么什么是系统运维呢?运维工程师要掌握哪些技能呢?
20202
2019-09-25 10:56:41
传统虚拟化和容器虚拟化有什么区别?
传统虚拟化和容器虚拟化有什么区别?两者虽然都是虚拟化技术,但它们运作的思维是完全不同的,容器虚拟化是轻量级虚拟化技术,同时它也是以应用程序为中心的虚拟化技术。而传统虚拟化技术则不同,一般来说是以操作系统为中心的。因此,他们两者从根本核心上就有所区别。下面我们来看看两者具体的区别分析。
16862
2019-11-04 09:41:33
如何成为运维工程师?
作为一个低调的互联网幕后英雄,互联网运维师可能并不是那么广为人知。但运维师的工作对于整个互联网服务的运行是相当重要的,掌握着能够为用户提供不间断互联网服务的最底层服务器。因此该岗位的薪资也是较为客观,根据各大招聘网站的数据,初级运维工程师平均月工资基本在一万左右。
8845
2020-06-17 15:27:08
