1. 程式人生 > >【FastDFS】分散式檔案系統簡介

【FastDFS】分散式檔案系統簡介

一、前言 在前一段工作的時間中,小編接觸了檔案系統——FastDFS,它是一個用C語言編寫的開源的分散式檔案系統。下面就對他進行簡單的介紹

二、什麼是FastDFS? FastDFS為網際網路量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高效能等指標,使用FastDFS很容易搭建一套高效能的檔案伺服器叢集提供檔案上傳、下載等服務。

在前文中小編給大家分享了Nginx,既然做了Nginx的負載均衡,就有了多個伺服器,但是這多個伺服器上的資訊不是同步的,所以當我們遇到這種情況的時候,就會發現,使用者把圖片儲存到了tomcat1上面,然而訪問的時候不是tomcat1,就會訪問不到。

fastDFS就 是一個單獨的檔案系統,上傳的圖片可以儲存到圖片伺服器,當要請求圖片的時候,直接在圖片伺服器請求就可以了,這樣就解決了tomcat服務群的資料同步的問題。 在這裡插入圖片描述 三、FastDFS的幾個組成部分 首先大家看一下官方的fastDFS叢集的架構圖: 在這裡插入圖片描述 在這個圖中,包含了Client、Tracker群、Storage群。

  • Client,就不用更多解釋了,就是客戶端。

  • Tracker,追蹤者,用於做負載均衡和排程。

  • Storage,貯存,使用者檔案儲存。

    這裡要提一下的是:tracker之間沒有主從之分,使用輪尋的方式進行訪問,如果請求的tracker無法提供服務則換另一個。storager之間也沒有主從之分。

檔案上傳流程: 在這裡插入圖片描述

檔案下載流程: 在這裡插入圖片描述

上傳檔案的檔名

客戶端上傳檔案後儲存伺服器將檔案ID返回給客戶端,此檔案ID用於以後訪問該檔案的索引資訊。檔案索引資訊包括:組名,虛擬磁碟路徑,資料兩級目錄,檔名。 在這裡插入圖片描述

  • 組名:檔案上傳後所在的storage組名稱,在檔案上傳成功後有storage伺服器返回,需要客戶端自行儲存。

  • 虛擬磁碟路徑:storage配置的虛擬路徑,與磁碟選項store_path*對應。如果配置了store_path0則是M00,如果配置了store_path1則是M01,以此類推。

  • 資料兩級目錄:storage伺服器在每個虛擬磁碟路徑下建立的兩級目錄,用於儲存資料檔案。

  • 檔名:與檔案上傳時不同。是由儲存伺服器根據特定資訊生成,檔名包含:源儲存伺服器IP地址、檔案建立時間戳、檔案大小、隨機數和檔案拓展名等資訊。

四、小結 原來也使用過檔案系統ftp伺服器,現在接觸的更加的強大了,使用更加的方便了。fastDFS會更好的為系統提供服務,加油!