1. 程式人生 > >分散式檔案系統—FastDFS

分散式檔案系統—FastDFS

什麼是FastDFS

FastDFS是用c語言編寫的一款開源的分散式檔案系統。FastDFS為網際網路量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高效能等指標,使用FastDFS很容易搭建一套高效能的檔案伺服器叢集提供檔案上傳、下載等服務。

這裡寫圖片描述

檔案上傳流程

這裡寫圖片描述

檔案下載流程

這裡寫圖片描述

上傳檔案的檔名

客戶端上傳檔案後儲存伺服器將檔案ID返回給客戶端,此檔案ID用於以後訪問該檔案的索引資訊。檔案索引資訊包括:組名,虛擬磁碟路徑,資料兩級目錄,檔名。

這裡寫圖片描述

組名:檔案上傳後所在的storage組名稱,在檔案上傳成功後有storage伺服器返回,需要客戶端自行儲存。

虛擬磁碟路徑:storage配置的虛擬路徑,與磁碟選項store_path*對應。如果配置了store_path0則是M00,如果配置了store_path1則是M01,以此類推。

資料兩級目錄:storage伺服器在每個虛擬磁碟路徑下建立的兩級目錄,用於儲存資料檔案。

檔名:與檔案上傳時不同。是由儲存伺服器根據特定資訊生成,檔名包含:源儲存伺服器IP地址、檔案建立時間戳、檔案大小、隨機數和檔案拓展名等資訊。

小結:

單獨部署的檔案伺服器是網際網路專案必不可少的一項。簡單的話可以採用FTP做檔案伺服器,但是專案訪問量持續增加的話,必要考慮檔案伺服器的擴充套件性與高可用。這時候採用FastDFS是比較明智的,當伺服器容量不夠用時,FastDFS可以快速的進行線性擴容。