在线客服
扫描二维码
下载博学谷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为内核的操作系统之一。
16448
2019-08-08 14:18:06
编辑神器Vim常用命令总结
Wim编辑器是一款基于WIMGAPI开发的WIM(Windows Imaging Format)镜像处理工具,Wim编辑器是一个可以独立使用的工具,Wim编辑器还包括多项实用功能,以下是小编整理的编辑神器VIM常用命令总结。
6941
2019-07-08 14:49:39
Linux系统入门学习哪些内容?
Linux系统入门学习哪些内容?零基础想转行需要学习Linux系统架构:Linux内核、Linux shell、 Linux 文件系统、Linux 应用、Linux内核参数优化;Linux基本命令;Linux系统命令等内容。
7518
2019-07-30 18:44:27
Linux系统有哪些?盘点常用的八个Linux系统
Linux不仅系统性能稳定,而且是开源软件。与其他操作系统相比 ,功能强大,成本低。那么Linux系统有哪些?下面小编就为大家盘点常用的八个Linux系统,希望对大家有所帮助。
18394
2019-08-09 14:53:02
如何成为运维工程师?
作为一个低调的互联网幕后英雄,互联网运维师可能并不是那么广为人知。但运维师的工作对于整个互联网服务的运行是相当重要的,掌握着能够为用户提供不间断互联网服务的最底层服务器。因此该岗位的薪资也是较为客观,根据各大招聘网站的数据,初级运维工程师平均月工资基本在一万左右。
5912
2020-06-17 15:27:08