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

1、概述

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

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

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


2、架构图

client:登录的客户端。

lvs: 服务器集群系统负载均衡。

file serverfdfs均表示服务器集群,支持多机器部署共同工作。

file :表示缓存磁盘的文件。

mysql:文件服务器记录文件信息以及 fdfs 对应的文件索引信息。

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

架构图

3、逻辑时序

逻辑时序图

更精彩内容,请关注我的博客:https://wenfh2020.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,297评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,252评论 19 139
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,553评论 6 152
  • 工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超...
    保川阅读 4,656评论 2 14
  • 目录 准备 分析2.1. 三次握手2.2. 创建 HTTP 代理(非必要)2.3. TLS/SSL 握手2.4. ...
    RunAlgorithm阅读 38,829评论 12 117