FastDFS一個高效的Distributed File System

來源:互聯網
上載者:User

 同事 happy_fish 最近開發了一個很強大,很快速的開源Distributed File System - FastDFS,使用純C開發,執行效率非常高,能夠解決大並發和分布式儲存的問題,簡潔高效,適合很多不想使用 Hadoop 或 MogileFS 的兄弟們值得嘗試的一個Distributed File System

 

FastDFS是一個開源的Distributed File System,她對檔案進行管理,功能包括:檔案儲存體、檔案同步、檔案訪問(檔案上傳、檔案下載)等,解決了大型存放區和負載平衡的問題。特別適合以檔案為載體的線上服務,如相簿網站、視頻網站等等。


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


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

 

FastDFS系統結構如下圖所示:


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


為了支援大容量,儲存節點(伺服器)採用了分卷(或分組)的組織方式。儲存系統由一個或多個卷組成,卷與卷之間的檔案是相互獨立的,所有卷的檔案容量累加就是整個儲存系統中的檔案容量。一個卷可以由一台或多台儲存伺服器組成,一個卷下的儲存伺服器中的檔案都是相同的,卷中的多台儲存伺服器起到了冗餘備份和負載平衡的作用。
在卷中增加伺服器時,同步已有的檔案由系統自動完成,同步完成後,系統自動將新增伺服器切換到線上提供服務。


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

 

                               FastDFS file upload

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

 

                         FastDFS file download

下載檔案互動過程:
1. client詢問tracker下載檔案的storage,參數為檔案標識(卷名和檔案名稱);
2. tracker返回一台可用的storage;
3. client直接和storage通訊完成檔案下載。

 

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

點擊此處下載原始碼V1.0

官方網站:http://www.csource.org
專案網站:http://fastdfs.googlecode.com
代碼下載:http://code.google.com/p/fastdfs/downloads/list

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.