FastDFS檔案存儲
1. FastDFS介紹
- 用
編寫的一款開源的輕量級分布式檔案系統。c語言
- 功能包括:檔案存儲、檔案通路(檔案上傳、檔案下載下傳)、檔案同步等,解決了大容量存儲和負載均衡的問題。特别适合以檔案為載體的線上服務,如相冊網站、視訊網站等等。
- 為網際網路量身定制,充分考慮了備援備份、負載均衡、線性擴容等機制,并注重高可用、高性能等名額。
- 可以幫助我們搭建一套高性能的檔案伺服器叢集,并提供檔案上傳、下載下傳等服務。
FastDFS檔案存儲FastDFS檔案存儲 - FastDFS架構包括Client、Tracker server和Storage server
-
請求Client
進行檔案上傳、下載下傳,Tracker
再排程Tracker
完成檔案上傳和下載下傳。Storage
-
- Client: 用戶端,業務請求的發起方,通過專有接口,使用TCP/IP協定與
或Tracker
進行資料互動。FastDFS提供了Storage
、upload
、download
等接口供用戶端使用。delete
- Tracker server:跟蹤伺服器,主要做排程工作,起負載均衡的作用。在記憶體中記錄叢集中所有存儲組和存儲伺服器的狀态資訊,是用戶端和資料伺服器互動的樞紐。
- Storage server:存儲伺服器(存儲節點或資料伺服器),檔案和檔案屬性都儲存到存儲伺服器上。Storage server直接利用OS的檔案系統調用管理檔案。
- Storage群中的橫向可以擴容,縱向可以備份。
2. FastDFS上傳和下載下傳流程
3. FastDFS檔案索引
- FastDFS上傳和下載下傳流程可以看出都涉及到一個資料叫檔案索引(file_id)。
- **檔案索引(file_id)**是用戶端上傳檔案後Storage傳回給用戶端的一個字元串,是以後通路該檔案的索引資訊。
- 檔案索引(file_id)資訊包括:組名、虛拟磁盤路徑、資料兩級目錄、檔案名等資訊。
- 組名:檔案上傳後所在的 Storage 組名稱。
- 虛拟磁盤路徑:Storage 配置的虛拟路徑,與磁盤選項
對應。如果配置了store_path*
則是store_path0
,如果配置了M00
則是store_path1
,以此類推。M01
- 資料兩級目錄:Storage 伺服器在每個虛拟磁盤路徑下建立的兩級目錄,用于存儲資料檔案。
- 檔案名:由存儲伺服器根據特定資訊生成,檔案名包含:源存儲伺服器IP位址、檔案建立時間戳、檔案大小、随機數和檔案拓展名等資訊。
FastDFS檔案存儲FastDFS檔案存儲