# 1.1 fastDFS 通用介紹
## 1、背景
FastDFS是一款開源的、分布式文件系統(Distributed File System),由淘寶開發平臺部資深架構師**余慶**開發。
該開源項目的主頁是 http://code.google.com/p/fastdfs。
可以通過fastdfs.sourceforge.net 下載。
FastDFS論壇是 http://www.csource.org
目前是指向 ChinaUnix 開源項目孵化平臺的一個板塊 FastDFS,
網址為 bbs.chinaunix.net/forum-240-1.html
## 2、上傳流程
我們可以通過 FastDFS 對文件的上傳過程,來初步了解 FastDFS 的基本架構。首先客戶端 client 發起對 FastDFS 的文件傳輸動作,是通過連接到某一臺 Tracker Server 的指定端口來實現的,Tracker Server 根據目前已掌握的信息,來決定選擇哪一臺 Storage Server ,然后將這個Storage Server 的地址等信息返回給 client,然后 client 再通過這些信息連接到這臺 Storage Server,將要上傳的文件傳送到給 Storage Server上。

## 3、架構簡析
以上這段粗糙簡單的描述,基本理清了 FastDFS 的上傳過程。
我們可以知道,FastDFS 是包括一組 Tracker Server 和 Storage Server 的。
Tracker Server 與 Storage Server 之間不直接通信,其基本的信息由配置文件在系統啟動加載時獲知。
多臺 Tracker Server 之間保證了 Tracker 的分布式,Tracker Server 之間是對等的,防止了單點故障。
Storage Server 是分成多個 Group,每個 Group 中的Storage 都是互相備份的,也就是說,如果 Group1 有 Storage1、Storage2、Storage3,其容量分別是100GB、100GB、100GB,那么 Group1 的存儲能力是 100GB,而不是 300GB,這就是互相備份的意思。
進一步說,整個 Group 的存儲能力由該組中該儲能力最小的 Storage 決定。多個 Group 之間的存儲方式,可以采用 round robin(輪訓)、load balanced(負載均衡)或指定 Group 的方式。另一點相對于MS(Master-Slave)模式的優勢,就是 Tracker Server 與 Master 是決然不同的,不僅 master 有上面可能提到的單點故障問題,而且 client 與 master 之間可能會出現瓶頸。但 FastDFS 架構中,Tracker Server 不會稱為系統瓶頸,數據最終是與一個 available 的 Storage Server 進行傳輸的。
## 4、總結
簡單總結一下,FastDFS的特點包括
(1)高可靠性:無單點故障;
(2)高吞吐量:只要 Group 足夠多,數據流量是足夠分散的。
- 概要
- 1 分布式存儲fastDFS
- 1.1 fastDFS 通用介紹
- 1.2 fastDFS安裝和使用
- 1.3 基于fastDFS實現分布式
- 2 緩存數據庫redis快速搭建
- 2.1 環境安裝
- 2.2 redis數據類型
- 2.3 redis訂閱發布模式
- 2.4 redis事務
- 2.5 redis備份
- 3 redis詳細攻略
- 3.1 redis簡介
- 3.2 redis使用場景
- 3.3 redis基本操作
- 3.4 redis數據類型
- 3.4.1 字符串
- 3.4.2 HASH-字典
- 3.4.3 List-列表
- 3.4.4 Set-集合
- 3.4.5 Sorted Set-有序集合
- 3.4.6 訂閱-發布
- 3.4.7 事務
- 3.5 redis配置文件
- 3.6 持久化
- 3.7 redis性能測試
- 3.8 redis-C-API
- 3.9 redis-C++-API
- 3.10 總結與建議
- 4 memcache緩存數據庫
- 4.1 什么是memcached
- 4.2 memcached的特征
- 4.3 memcached的內存管理
- 4.4 如何使用memcached
- 4.5 memcached參數詳解
- 4.6 memcached安裝
- 4.7 memcached-C客戶端
- 4.8 memcached-C++客戶端
- 5 Nginx
- 6 FastCGI
- 6.1 CGI
- 6.2 FastCGI
- 6.3 Nginx與FastCGI
- 7 Nginx上部署fastDFS
- 8 項目概要
- 8.1 上傳文件功能
- 8.2 主界面顯示與下載文件功能
- 8.3 注冊功能
- 8.4 登陸功能
- 8.5 文件分類功能
- 8.6 個人網盤功能
- 8.8 秒傳功能