分布式文件系统之Fastdfs是什么?
Fastdfs
概念:
是一款類似Google FS的開源分布式文件系統(tǒng),是純C語言開發(fā)的。
FastDFS是一個開源的輕量級分布式文件系統(tǒng),它對文件進(jìn)行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負(fù)載均衡的問題。特別適合以文件為載體的在線服務(wù),如相冊網(wǎng)站、視頻網(wǎng)站等等。
FastDFS是專為互聯(lián)網(wǎng)應(yīng)用量身定做,目的是追求高性能和高拓展性。它可以看做是基于文件的key value pair存儲系統(tǒng),稱作分布式文件存儲服務(wù)更為合適。
官方論壇 ?http://bbs.chinaunix.net/forum-240-1.html
?
架構(gòu)設(shè)計:
?
在FastDFS有三種角色,第一種是Client客戶端,第二種是Tracker追蹤服務(wù)器,第三種就是Storage存儲服務(wù)器。其中Client客戶端就是官方提供的C、Java和PHP的調(diào)用API,這里后面會講到。而對于追蹤服務(wù)器和存儲服務(wù)器我們這里詳細(xì)介紹一下。
關(guān)于存儲服務(wù)器,是采用分組的方式,同一個組內(nèi)的服務(wù)器的文件是完全相同的(利用同步線程進(jìn)行同步),組和組之間是不通信的。而存儲服務(wù)器會主動定期向追蹤服務(wù)器報告目前的狀態(tài),追蹤服務(wù)器可以有多個,多個之間是對等的,不存在主從。
關(guān)于客戶端,是不需要存儲有關(guān)存儲服務(wù)器的任何信息的。一般用戶的請求不是直接請求存儲服務(wù)器,而是會請求追蹤服務(wù)器。例如一個客戶端需要上傳文件,此時追蹤服務(wù)器就會從存儲服務(wù)器中找出一個組分配給客戶端,供其上傳文件,此時客戶端拿到組的信息后,開始直接和存儲服務(wù)器的這個組進(jìn)行交互,無需再通過追蹤服務(wù)器進(jìn)行中轉(zhuǎn)。
即:
Tracker Servre:追蹤服務(wù)器,主要做調(diào)度工作,在訪問中起負(fù)載均衡的作用。在內(nèi)存中記錄集群中g(shù)roup和storage server的狀態(tài)信息,是連接Client和Storage的樞紐。因為相關(guān)信息全部在內(nèi)存中,Tracker server的性能非常高,一個比較大的集群(比如上百個group)中有三臺就足夠了。
Storage Server:存儲服務(wù)器,文件和文件屬性(meta data)都保存在存儲服務(wù)器上。
?
?
部署方式:
一臺跟蹤器 倆臺存儲節(jié)點
?
擴(kuò)展存儲服務(wù)器
?
使用方法:
上傳機(jī)制:
?
下載機(jī)制:
1)Client 詢問tracker 下載文件的storage , 參數(shù)為文件標(biāo)識( 卷名和文件名 )
2)tracker 返回一臺可用的storage
3)client 直接和storage 通訊完成文件下載
?
?
應(yīng)用場景:
FastDFS適合的存儲范圍為4KB至500M之間,它更傾向于存儲中小型文件,如圖片網(wǎng)站、短視頻網(wǎng)站、文檔、app下載站等。
FastDFS的用戶有支付寶、京東、趕集網(wǎng)、58同城、UC、51CTO和一些網(wǎng)盤公司,可以說目前用到FastDFS的公司特別多,因為移動互聯(lián)網(wǎng)的興起,一些短視頻、電子書、小音頻和一些app,都在十幾兆或者一兩百兆左右,使用FastDFS十分合適。
總結(jié)
以上是生活随笔為你收集整理的分布式文件系统之Fastdfs是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式文件系统之Hdfs是什么?
- 下一篇: 分布式文件系统之Tachyon是什么?