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,172評論 6 13
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,969評論 19 139
  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,440評論 6 152
  • 工作流程 一次HTTP操作稱為一個事務,其工作過程可分為四步: 1)首先客戶機與服務器需要建立連接。只要單擊某個超...
    保川閱讀 4,637評論 2 14
  • 目錄 準備 分析2.1. 三次握手2.2. 創建 HTTP 代理(非必要)2.3. TLS/SSL 握手2.4. ...
    RunAlgorithm閱讀 38,658評論 12 117