分布式文件系统研究-fastDSF架构介绍
什么是fastDFS
fastDSF介紹
FastDFS是用c語言編寫的一款開源的分布式文件系統,它是由淘寶資深架構師余慶編寫并開源。FastDFS專為互聯網量身定制,充分考慮了冗余備份、負載均衡、線性擴容等機制,并注重高可用、高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務器集群提供文件上傳、下載等服務。
為什么要使用fastDFS呢?
上邊介紹的NFS、GFS都是通用的分布式文件系統,通用的分布式文件系統的優點的是開發體驗好,但是系統復雜性高、性能一般,而專用的分布式文件系統雖然開發體驗性差,但是系統復雜性低并且性能高。fastDFS非常適合存儲圖片等那些小文件,fastDFS不對文件進行分塊,所以它就沒有分塊合并的開銷,fastDFS網絡通信采用socket,通信速度很快。
fastDSF工作原理
fastDSF架構
FastDFS架構包括 Tracker server和Storageserver。客戶端請求Tracker server進行文件上傳、下載,通過Tracker server調度最終由Storage server完成文件上傳和下載。
如下圖:
1)Tracker
Tracker Server作用是負載均衡和調度,通過Tracker server在文件上傳時可以根據一些策略找到Storage server提供文件上傳服務。可以將tracker稱為追蹤服務器或調度服務器。
FastDFS集群中的Tracker server可以有多臺,Tracker server之間是相互平等關系同時提供服務,Tracker server不存在單點故障。客戶端請求Tracker server采用輪詢方式,如果請求的tracker無法提供服務則換另一個tracker。
2)Storage
Storage Server作用是文件存儲,客戶端上傳的文件最終存儲在Storage服務器上,Storage server沒有實現自己的文件系統而是使用操作系統的文件系統來管理文件。可以將storage稱為存儲服務器。
Storage集群采用了分組存儲方式。storage集群由一個或多個組構成,集群存儲總容量為集群中所有組的存儲容量之和。一個組由一臺或多臺存儲服務器組成,組內的Storage server之間是平等關系,不同組的Storage server之間不會相互通信,同組內的Storage server之間會相互連接進行文件同步,從而保證同組內每個storage上的文件完全一致的。一個組的存儲容量為該組內的存儲服務器容量最小的那個,由此可見組內存儲服務器的軟硬件配置最好是一致的。
采用分組存儲方式的好處是靈活、可控性較強。比如上傳文件時,可以由客戶端直接指定上傳到的組也可以由tracker進行調度選擇。一個分組的存儲服務器訪問壓力較大時,可以在該組增加存儲服務器來擴充服務能力(縱向擴容)。當系統容量不足時,可以增加組來擴充存儲容量(橫向擴容)。
3)Storage狀態收集
Storage server會連接集群中所有的Tracker server,定時向他們報告自己的狀態,包括磁盤剩余空間、文件同步狀況、文件上傳下載次數等統計信息。
總結
以上是生活随笔為你收集整理的分布式文件系统研究-fastDSF架构介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 分布式文件系统研究-什么是分布式文件系统
 - 下一篇: 分布式文件系统研究-fastDSF文件上