FastDFS原理系列文章

2021-09-08 04:45:09 字數 2131 閱讀 6720

fastdfs

原理系列文章

基於fastdfs 5.03/5.04

2014-12-19

一、概述

fastdfs

文件極少,僅僅能找到一些寬泛的架構文件,以及

chinaunix

論壇上作者對網友提問的一些回答。對於要將

fastdfs

應用到生產系統來說,這點了解絕對是不夠的。

這段時間研究

fastdfs

源**,而且做了大量的效能測試。中間也做了大量的筆記。基本上把程式的結構與基本的操作摸索清楚,因此寫了一些文章即是對前段工作的總結,同一時候也分享給想很多其它了解

fastdfs

內部的同行們。

這裡對每篇文章做個介紹。

1

、機器之間的同步

storage

之間的同步可能是大家首先關心的了,這篇文章做了具體的介紹,最後我還寫了注意事項。主要是效能方面的。

《fastdfs

之binlog

同步》 

2

、加入新機器同步

大家可能不怎麼會注意到這部分。可是事實上非常重要。

在實際的生產系統。壞掉一台機器,或者為了讀壓力而新增機器,等都是非常正常的。在乙個執行的系統上加入一台機器涉及到存量檔案的同步與融入到系統中。以下這篇文章做了具體的回答。

《fastdfs

之加入機器同步》 

3

、磁碟恢復

線上機器壞個磁碟算是個大概率事件了,換了乙個新磁碟。問題來了,資料怎麼恢復啊。不用急,重新啟動下

storaged

。他會檢測到並進行恢復,儘管恢復時間可能要非常長(資料量大時),這篇文章對這個功能做了說明。

《fastdfs

之磁碟恢復過程》 

4

、storaged

程式結構

到此處storaged

基本的功能點已經講述了。或者你還想知道程式內部是怎樣組織的,執行緒之間的協調等資訊,請看這篇文章。

《fastdfs

之storage

程式框架》

5

、client

與tracker

的通訊

如今是時候從client角度來端詳下

tracker

tracker

。那麼這些查詢

tracker

是怎樣計算。並返回的呢?請看本篇。

《fastdfs

之client與

tracker

通訊》

6

、合併儲存

海量小檔案導致效能下降,可能大家都聽說過。福音是

fastdfs

通過合併小檔案成大檔案的方式來規避這個問題。

fastdfs

是怎樣實現這個功能的,具體請看這裡。

《fastdfs

合併儲存原理分析》 

7

、tracker-leader

選舉

看過了《

fastdfs

合併儲存原理分析》這篇文章後。對於當中提到的

tracker-leader

怎樣選舉可能會好奇,通過這篇文章你會看到

leader

的選舉過程。

《fastdfs

之tracker-leader

選擇》 

8

、合併儲存設計缺陷

對於fastdfs

合併儲存功能不得不面對乙個問題,在某些情況下會導致資料錯誤或丟失。

你在看《

fastdfs

合併儲存原理分析》這篇文章時可能已經發現了,如今讓我們完完整整地重現下這樣的錯誤的出現,請看。

《fastdfs

之合併儲存缺陷導致資料丟失或錯誤》 

FastDFS 簡介和原理

一 什麼是fastdfs?dfs distributed file system 分布式檔案系統。二 fastdfs由什麼組成?fastdfs由跟蹤伺服器 trackerserver 儲存伺服器 storage server 和客戶機 client 構成。跟蹤伺服器 trackerserver 主要...

FastDFS 簡介和原理

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

Qt Model View系列文章

最近搞了不少自定義model view東西,積累了不少經驗和坑,現在寫下來。我是個快樂的分割線2021.3.30 系統提供的各種標準model使用我在這裡就不闡述了。網上有各種文章和討論,我說下用這些東西產生的一些理解 view不做過多討論,qt提供的各種顯示樣式和編輯樣式,主要還是在與使用者做交流...