c++文件服務器架構邏輯

1、概述

    C/C++文件服務器主要是 FDFS (FastDFS)文件存儲系統的一個文件代理。文件服務支持 HTTP 協議,支持上傳,下載基本功能,支持秒傳文件(如果文件曾經上傳到服務器,服務會記錄文件信息,不用再次上傳),這些文件信息會記錄在文件服務對應的數據庫。文件服務器也有本地文件緩存,主要支持熱點文件上傳下載。

    每個文件上傳前客戶端需要計算其 Md5 值,文件 Md5 值是文件內容的唯一證書,客戶端根據該值跟服務器交互,如果Md5已記錄在數據庫,那說明該文件曾經上傳到服務器。因爲文件內容不保存文件名,所以文件服務器也只保存文件內容,並不保存文件名,文件名由其它服務進行維護。

    文件服務器只保存文件數據,與其它系統沒有任何業務邏輯關係。只支持小文件的上傳下載,續傳等功能。文件需要加密的可以在客戶端加密,文件服務器不作任何加密操作。文件信息需要建立與業務信息的關係,請客戶端上傳或者下載成功文件後,再向相關的業務服務器添加關聯的存儲記錄。


2、架構圖

client :登錄的客戶端。
LVS: 服務器集羣系統負載均衡。
file serverfdfs 均表示服務器集羣,支持多機器部署共同工作。
file :表示緩存磁盤的文件。
mysql :文件服務器記錄文件信息以及 fdfs 對應的文件索引信息。

fdfs:FastDFS是一個開源的輕量級分佈式文件系統。




3、邏輯時序



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章