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