FastDFS分布式文件系統

FastDFS簡介

?FastDFS是一個輕量級的開源分布式文件系統

?FastDFS主要解決了大容量的文件存儲和高并發訪問的問題,文件存取時實現了負載均衡

?FastDFS實現了軟件方式的RAID,可以使用廉價的IDE硬盤進行存儲

?支持存儲服務器在線擴容

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

?FastDFS只能通過ClientAPI訪問,不支持POSIX訪問方式

?FastDFS特別適合大中型網站使用,用來存儲資源文件(如:圖片、文檔、音頻、視頻等等)

系統架構-架構圖

系統架構-上傳文件流程圖

??1. client詢問tracker上傳到的storage,不需要附加參數;

??2. tracker返回一臺可用的storage;

??3. client直接和storage通訊完成文件上傳。

系統架構-下載文件流程圖

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

??2. tracker返回一臺可用的storage;

??3. client直接和storage通訊完成文件下載。

相關術語

??Tracker Server:跟蹤服務器,主要做調度工作,在訪問上起負載均衡的作用。記錄storage server的狀態,是連接Client和Storageserver的樞紐。

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

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

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

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

同步機制

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

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

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

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

通信協議

??協議包由兩部分組成:header和body

??header共10字節,格式如下:

–?8 bytes body length

–?1 byte command

–?1 byte status

??body數據包格式由取決于具體的命令,body可以為空

運行時目錄結構-tracker server

???${base_path}

|__data

|???? |__storage_groups.dat:存儲分組信息

|????|__storage_servers.dat:存儲服務器列表

|__logs

|__trackerd.log:trackerserver日志文件

運行時目錄結構-storage server

???${base_path}

|__data

|???? |__.data_init_flag:當前storageserver初始化信息

|????|__storage_stat.dat:當前storage server統計信息

|????|__sync:存放數據同步相關文件

|????|???? |__binlog.index:當前的binlog文件索引號

|????|???? |__binlog.###:存放更新操作記錄(日志)

|????|???? |__${ip_addr}_${port}.mark:存放同步的完成情況

|????|

|???? |__一級目錄:256個存放數據文件的目錄,如:00, 1F

|?????????? |__二級目錄:256個存放數據文件的目錄

|__logs

|__storaged.log:storageserver日志文件

安裝和運行

?#step 1. download FastDFS source package and unpack it,

?# if you use HTTP to download file, please downloadlibevent 1.4.x and install it

?tar xzf FastDFS_v1.x.tar.gz

?#for example:

?tar xzf FastDFS_v1.20.tar.gz

?

?#step 2. enter the FastDFS dir

?cd FastDFS

?

?#step 3. if HTTP supported, modify make.sh, uncommentthe line:

?# WITH_HTTPD=1, then execute:

?./make.sh

?

?#step 4. make install

?./make.sh install

?

?#step 5. edit/modify the config file of tracker andstorage

?

?#step 6. run server programs

?#start the tracker server:

?/usr/local/bin/fdfs_trackerd

?

?#start the storage server:

?/usr/local/bin/fdfs_storaged

FastDFS和集中存儲方式對比



? FastDFS中文:http://www.csource.org/

??FastDFS英文:http://code.google.com/p/fastdfs/

官網資料,分享給大家學習

愿意了解框架技術或者源碼的朋友直接加求求(企鵝):2042849237

更多詳細源碼參考來源:http://minglisoft.cn/technology

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,908評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,324評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,018評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,675評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,417評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,783評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,779評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,960評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,522評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,267評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,471評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,009評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,698評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,099評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,386評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,204評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,436評論 2 378

推薦閱讀更多精彩內容