FastDFS 簡介和原理

2021-08-18 22:37:52 字數 1995 閱讀 7541

一、什麼是fastdfs?

dfs(distributed file system):分布式檔案系統。

二、fastdfs由什麼組成?

fastdfs由跟蹤伺服器(trackerserver)、儲存伺服器(storage server)和客戶機(client)構成。

跟蹤伺服器 trackerserver:

主要起到排程工作,起到均衡作用,負責管理所有的storage server 和 group ,每個storage 在啟動之後會自動連線tracker ,告知自己所署的group的資訊,並保持週期性心跳,tranker 會根據storger的心跳資訊,建立group -> storage serverlist 【因為乙個group 可以由多個storageserver構成】,由於storage會保持週期性的心跳,所以tracker 需要管理的元資訊就很少,會全部儲存在記憶體中,本身並不需要持久化任何資料,這樣的話,就使得tracker非常容易擴充套件,僅僅增加tracker 即可擴充套件為 tracker cluster 集群服務。cluster裡的每個tracker 之間是完全對等的,所有的tracker都接收storage的心跳資訊,生成元資料資訊來提供讀寫服務。

儲存伺服器 storageserver:

主要提供容量和備份服務,以group為單位,每個group 內有多個storage server,資料互相備份,當乙個storage server損壞時,可以通過其他的storage server進行恢復。

以group 為單位組織儲存能方便的進行應用隔離、負載均衡、副本數定製【副本數即為storage server 的數量】,比如將不同的應用資料儲存到不同的group就能實現簡單的應用資料隔離,同時可以根據應用不同的訪問特性來分配不同的group,做到負載均衡。

客戶端 client:

此時,這個客戶端並不是使用者所在的客戶端,而是部署了我們專案的伺服器,每個客戶端(搭載專案的伺服器)都需要安裝nginx,客戶端(搭載專案的伺服器)和檔案儲存伺服器之間的資料交流也是伺服器之間的交流。

三、fastdfs工作流程

ⅰ、上傳

0:storage server會定時向tracker server 傳送自己的group以及資料夾資訊。使得tracker server 會保留最近的元資料。

1:普通使用者向client(伺服器)傳送請求。

2:client(伺服器)會向trackerserver傳送請求儲存。

3:trackerserver 會向client反饋乙個不是太忙的storage server 資訊。

4:client(伺服器)收到訊息,請求storageserver。

5:storage server儲存資料,並反饋給client乙個id,這個id也就是儲存檔案的路徑。

(路徑分為組名、資料夾、檔名和字尾,也就是後面用來訪問此檔案的方式)

模擬對話:

storageserver:tracker老哥,我還活著,你要記得我啊!

使用者1:我要上傳個電腦啊,伺服器!(哇,有點過分了啊!)

client(伺服器):好勒,東西給我,我幫你把東西存起來。

client(伺服器):trackerserver,我要存一台電腦,給我找乙個倉庫。

trackerserver:老鐵等一下,我給你找乙個地大一點的倉庫,要不就去a小區b棟302倉庫吧。

client(伺服器):嘿,storageserver,吶,這個是我的東西。

storageserver:ojbk,東西放好了,給你個編號(9827),以後憑著編號來找你的東西啊!

client(伺服器):把a

小區/b

棟/302/9527記錄到賬本上。

a小區:就是對應的groupa

b棟:就是對應的storage server

302:就是storage server下的資料夾

9527:就是檔名

電腦:就是檔案字尾名

賬本:就是資料庫。

FastDFS 簡介和原理

dfs distributed file system 分布式檔案系統。fastdfs由跟蹤伺服器 trackerserver 儲存伺服器 storage server 和客戶機 client 構成。跟蹤伺服器 trackerserver 主要起到排程工作,起到均衡作用,負責管理所有的storage...

FastDFS原理系列文章

fastdfs 原理系列文章 基於fastdfs 5.03 5.04 2014 12 19 一 概述 fastdfs 文件極少,僅僅能找到一些寬泛的架構文件,以及 chinaunix 論壇上作者對提問的一些回答。對於要將 fastdfs 應用到生產系統來說,這點了解絕對是不夠的。這段時間研究 fas...

FastDFS簡介以及linux配置

一 簡介 fastdfs包含兩個角色 二 環境搭建 單機版 1.轉殖虛擬器 vi etc sysconfig network scripts ifcfg eth0 刪除兩行 uuid hwaddr 2.安裝 tar zxvf v1.0.36.tar.gz cd libfastcommon 1.0.3...