國產分布式文件系統,FastDFS 4.02 發布

jopen 12年前發布 | 8K 次閱讀 分布式

FastDFS是一個開源的分布式文件系統,她對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件為載體的在線服務,如相冊網站、視頻網站等等。

FastDFS服務端有兩個角色:跟蹤器(tracker)和存儲節點(storage)。跟蹤器主要做調度工作,在訪問上起負載均衡的作用。

存儲節點存儲文件,完成文件管理的所有功能:存儲、同步和提供存取接口,FastDFS同時對文件的meta data進行管理。所謂文件的meta data就是文件的相關屬性,以鍵值對(key value pair)方式表示,如:width=1024,其中的key為width,value為1024。文件meta data是文件屬性列表,可以包含多個鍵值對。

FastDFS系統結構如下圖所示:

國產分布式文件系統,FastDFS 4.02 發布


跟蹤器和存儲節點都可以由一臺多臺服務器構成。跟蹤器和存儲節點中的服務器均可以隨時增加或下線而不會影響線上服務。其中跟蹤器中的所有服務器都是對等的,可以根據服務器的壓力情況隨時增加或減少。


為了支持大容量,存儲節點(服務器)采用了分卷(或分組)的組織方式。存儲系統由一個或多個卷組成,卷與卷之間的文件是相互獨立的,所有卷 的文件容量累加就是整個存儲系統中的文件容量。一個卷可以由一臺或多臺存儲服務器組成,一個卷下的存儲服務器中的文件都是相同的,卷中的多臺存儲服務器起 到了冗余備份和負載均衡的作用。

在卷中增加服務器時,同步已有的文件由系統自動完成,同步完成后,系統自動將新增服務器切換到線上提供服務。

當存儲空間不足或即將耗盡時,可以動態添加卷。只需要增加一臺或多臺服務器,并將它們配置為一個新的卷,這樣就擴大了存儲系統的容量。
FastDFS中的文件標識分為兩個部分:卷名和文件名,二者缺一不可。

國產分布式文件系統,FastDFS 4.02 發布

 

                               FastDFS file upload

上傳文件交互過程:
1. client詢問tracker上傳到的storage,不需要附加參數;
2. tracker返回一臺可用的storage;
3. client直接和storage通訊完成文件上傳。 

國產分布式文件系統,FastDFS 4.02 發布

 

                         FastDFS file download

下載文件交互過程:

1. client詢問tracker下載文件的storage,參數為文件標識(卷名和文件名);
2. tracker返回一臺可用的storage;
3. client直接和storage通訊完成文件下載。

需要說明的是,client為使用FastDFS服務的調用方,client也應該是一臺服務器,它對tracker和storage的調用均為服務器間的調用。

FastDFS v4.02發布!主要改進:支持日志輪轉,fdfs_monitor支持設置trunk server。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!