分布式文件系統「FastDFS」工作原理及使用小結

目錄

•FastDFS簡介

• 系統架構

• 相關術語

• 同步機制

• 通信協議

• 目錄結構

• 安裝和運行

• 和其他系統對

FastDFS簡介


  1. 開源的輕量級分佈式文件存儲系統

  2. 擁有負載均衡,可以解決大容量的文件存儲和高併發訪問的問題

  3. 磁盤陣列(RAID)的軟件方式實現,利用廉價的I硬盤進行文件存儲

  4. 輕易實現存儲服務器在線擴容 功能

  5. 支持相同內容的文件只保存一份,節約磁盤空間

  6. 只可以通過Client API訪問,不支持通過POSIX訪問方式

  7. 適用場景為大中型網站,一般用來存儲資源文件(圖片、視頻等等)

分佈式文件系統「FastDFS」工作原理及使用小結

系統架構


整體架構圖

分佈式文件系統「FastDFS」工作原理及使用小結

架構圖

文件上傳流程示意


分佈式文件系統「FastDFS」工作原理及使用小結

具體過程描述:

1. client客戶端詢問tracker上傳到的storage,此時不需要附加參數;

2. tracker會返回一個可供使用的storage;

3. client客戶端直接和可用的storage通訊,這樣就完成了文件的上傳。

文件下載流程示意圖


分佈式文件系統「FastDFS」工作原理及使用小結

1. client客戶端詢問tracker下載文件的storage,參數為文件標識(組名和文件名);

2. tracker馬上提供一臺可用的storage;

3. client客戶端和storage通訊,直接完成文件的下載。

相關術語


•Tracker Server:跟蹤服務器,負責調度,在訪問上起負載均衡的作用。記錄storage server的狀態,是連接Client和Storage server的橋樑。

• Storage Server:存儲服務器,文件和meta data都保存到存儲服務器上

• group:組,也可稱為卷。同組內服務器上的文件是完全相同的

• 文件標識:包括兩部分:組名和文件名(包含路徑)

• meta data:文件相關屬性,鍵值對(Key Value Pair)方式,如:width=1024,heigth=768

分佈式文件系統「FastDFS」工作原理及使用小結

同步機制


•同一組內的storage server之間是對等的,文件上傳、刪除等操作可以在任意一臺storage server上進行;

•文件同步只在同組內的storage server之間進行,採用push方式,即源服務器同步給目標服務器;

•源頭數據才需要同步,備份數據不需要再次同步,否則就構成環路了;

•上述第二條規則有個例外,就是新增加一臺storage server時,由已有的一臺storage server將已有的所有數據(包括源頭數據和備份數據)同步給該新增服務器。

分佈式文件系統「FastDFS」工作原理及使用小結

通信協議


•協議包由兩部分組成:header以及body

• header共10字節,格式如下: –8 bytes body length – 1 byte command – 1 byte status

• body數據包格式由具體的命令的決定,body可以為空

分佈式文件系統「FastDFS」工作原理及使用小結

運行時目錄結構


1.tracker server

分佈式文件系統「FastDFS」工作原理及使用小結

2.storage server

分佈式文件系統「FastDFS」工作原理及使用小結

安裝和運行命令


分佈式文件系統「FastDFS」工作原理及使用小結

FastDFS和傳統的集中存儲方式的對比


分佈式文件系統「FastDFS」工作原理及使用小結

FastDFS和mogileFS的全面對比


分佈式文件系統「FastDFS」工作原理及使用小結


分享到:


相關文章: