在线客服
扫描二维码
下载博学谷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为内核的操作系统之一。
14625
2019-08-08 14:18:06
浅谈性能调优,扫除知识盲区
性能调优就是对计算机硬件、操作系统和应用有相当深入的了解,调节三者之间的关系,实现整个系统(包括硬件、操作系统、应用)的性能最大化,并能不断的满足现有的业务需求。
6203
2019-07-19 13:30:20
运维安全的主要工作是干什么?
互联网的三大技术岗位分别是研发、测试和运维。在许多人看来,运维好像并没有那么重要,然而运维安全其实是企业安全保障的基石,不同于其他的技术环节,运维安全环节出现问题往往会比较严重,因此运维的重要性早已不言而喻。那么运维安全的主要工作是什么?主要是终端的运行维护,包括客户端故障排除、硬件故障修复、应用系统软件客户端安装、终端安全防护等方面的内容。
21009
2019-09-11 15:41:09
传统虚拟化和容器虚拟化有什么区别?
传统虚拟化和容器虚拟化有什么区别?两者虽然都是虚拟化技术,但它们运作的思维是完全不同的,容器虚拟化是轻量级虚拟化技术,同时它也是以应用程序为中心的虚拟化技术。而传统虚拟化技术则不同,一般来说是以操作系统为中心的。因此,他们两者从根本核心上就有所区别。下面我们来看看两者具体的区别分析。
12268
2019-11-04 09:41:33
零基础Linux培训课程有哪些内容?
零基础Linux培训课程有哪些内容?Linux培训主要学习网络基础,计算机网络、云计算网络,配备有企业级项目实战:IP地址配置与DNS解析;Linux基础,包括Linux操作系统及Linux高级管理;云数据中心主机CPU资源利用率实时统计、分析系统。
4260
2020-05-13 11:23:12