c++文件服务器架构逻辑

1、概述

    C/C++文件服务器主要是 FDFS (FastDFS)文件存储系统的一个文件代理。文件服务支持 HTTP 协议,支持上传,下载基本功能,支持秒传文件(如果文件曾经上传到服务器,服务会记录文件信息,不用再次上传),这些文件信息会记录在文件服务对应的数据库。文件服务器也有本地文件缓存,主要支持热点文件上传下载。

    每个文件上传前客户端需要计算其 Md5 值,文件 Md5 值是文件内容的唯一证书,客户端根据该值跟服务器交互,如果Md5已记录在数据库,那说明该文件曾经上传到服务器。因为文件内容不保存文件名,所以文件服务器也只保存文件内容,并不保存文件名,文件名由其它服务进行维护。

    文件服务器只保存文件数据,与其它系统没有任何业务逻辑关系。只支持小文件的上传下载,续传等功能。文件需要加密的可以在客户端加密,文件服务器不作任何加密操作。文件信息需要建立与业务信息的关系,请客户端上传或者下载成功文件后,再向相关的业务服务器添加关联的存储记录。


2、架构图

client :登录的客户端。
LVS: 服务器集群系统负载均衡。
file serverfdfs 均表示服务器集群,支持多机器部署共同工作。
file :表示缓存磁盘的文件。
mysql :文件服务器记录文件信息以及 fdfs 对应的文件索引信息。

fdfs:FastDFS是一个开源的轻量级分布式文件系统。




3、逻辑时序



猜你喜欢

转载自blog.csdn.net/wenfh2020/article/details/53078671