记录一次部署文件服务器FastDFS(1)

前言

  最近公司产品业务不断发展壮大,原来代码和文件放在tomcat下的弊端开始显露出来了,主要体现在文件和代码耦合在一起,文件越多存放越混乱;还有就是并发量增大了,用户对视频等静态文件的访问会占据一定的资源,影响正常业务进行,受到不少吐槽。所以准备将文件迁移到文件服务器,因为自己曾经学习过FastDFS文件服务器的部署,被大佬叫来部署一套对内试用的文件服务器...

什么是FastDFS

  FastDFS是一款开源的轻量级分布式文件系统纯C实现,目前提供了C、Java和PHP API为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性FastDFS可以看做是基于文件的key-value的pair存储系统,称作分布式文件存储服务更为合适。

相关术语

  1.tracker server: 跟踪服务器,主要做调度工作,在访问上起负载均衡的作用。记录storage server的状态,是连接Client和Storage server的枢纽。

  2.storage server:存储服务器,文件和meta data都保存到存储服务器上

  3.client:客户端,作为业务请求的发起方,通过专有接口,使用TCP/IP协议与***服务器或存储节点进行数据交互。FastDFS向使用者提供基本文件访问接口,比如upload、download、append、delete等,以客户端库的方式提供给用户使用。

  4.group:组,也可称为卷。同组内服务器上的文件是完全相同的。

  5.meta data:文件相关属性,键值对(Key Value Pair)方式,如:width=1024,heigth=768

上传文件流程图


上传文件时序图

  1.client询问tracker上传到的storage,不需要附加参数;

  2.tracker返回一台可用的storage;

  3.client直接和storage通讯完成文件上传

下载文件流程图


下载文件时序图

  1.client询问tracker下载文件的storage,参数为文件标识(组名和文件名);

  2.tracker返回一台可用的storage;

  3.client直接和storage通讯完成文件下载。

同步机制

1.同一组内的storage server之间是对等的,文件上传、删除等操作可以在任意一台storage server上进行;

2.文件同步只在同组内的storage server之间进行,采用push方式,即源服务器同步给目标服务器;

3.源头数据才需要同步,备份数据不需要再次同步,否则就构成环路了;

4.上述第二条规则有个例外,就是新增加一台storage server时,由已有的一台storage

5.server将已有的所有数据(包括源头数据和备份数据)同步给该新增服务器。

全部评论

相关推荐

牛客263158796号:我领羊一面后十天不挂也不推进 今天问hr说等前序的第一批意向发完看情况再看是否推进
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务