FastDFS原理,你知道哪些?
1、什么是FastDFS?
FastDFS是一個開源的輕量級分布式文件系統(tǒng)。它解決了大數(shù)據(jù)量存儲和負載均衡等問題。特別適合以中小文件(建議范圍:4KB < file_size <500MB)為載體的在線服務(wù),如相冊網(wǎng)站、視頻網(wǎng)站等等。在UC基于FastDFS開發(fā)向用戶提供了:網(wǎng)盤,社區(qū),廣告和應(yīng)用下載等業(yè)務(wù)的存儲服務(wù)。
FastDFS開源地址:https://github.com/happyfish100

2、FastDFS架構(gòu):
FastDFS 系統(tǒng)有三個角色:跟蹤服務(wù)器(Tracker Server)、存儲服務(wù)器(Storage Server)和客戶端(Client)。
tracker server:跟蹤服務(wù)器,主要做調(diào)度工作,起負載均衡的作用。在內(nèi)存中記錄集群中所有存儲組和存儲服務(wù)器的狀態(tài)信息,是客戶端和數(shù)據(jù)服務(wù)器交互的樞紐。相比GFS中的master更為精簡,不記錄文件索引信息,占用的內(nèi)存量很少。
storage server:存儲服務(wù)器(又稱:存儲節(jié)點或數(shù)據(jù)服務(wù)器),文件和文件屬性(meta data)都保存到存儲服務(wù)器上。Storage?server直接利用OS的文件系統(tǒng)調(diào)用管理文件。
client:客戶端,作為業(yè)務(wù)請求的發(fā)起方,通過專有接口,使用TCP/IP協(xié)議與跟蹤器服務(wù)器或存儲節(jié)點進行數(shù)據(jù)交互。
.


3、FastDFS協(xié)議:
FastDFS角色間是基于TCP/IP協(xié)議進行通信,協(xié)議包格式為:header + body。具體結(jié)構(gòu)如圖:

4、文件上傳流程
Storage server會連接集群中所有的Tracker server,定時向他們報告自己的狀態(tài),包括磁盤剩余空間、文件同步狀況、文件上傳下載次數(shù)等統(tǒng)計信息。


FastDFS的更多知識可以通過視頻學習哦~