1、FastDFS介紹
FastDFS 是以C語言開發的一項開源輕量級分布式檔案系統,他對檔案進行管理,主要功能有:檔案存盤,檔案同步,檔案訪問(檔案上傳/下載),特別適合以檔案為載體的在線服務,如圖片網站,視頻網站等
這段話是來自官網的介紹,總之一句話,FastDFS是一個比較可以的高性能存盤系統,適合中小型企業使用,FastDFS基于客戶端/服務器,對等特性允許一些系統扮演客戶端和服務器的雙重角色,可供多個用戶訪問的服務器,比如,用戶可以“發表”一個允許其他客戶機訪問的目錄,一旦被訪問,這個目錄對客戶機來說就像使用本地驅動器一樣
2、FastDFS組成
介紹幾個詞:跟蹤服務器(Tracker Server)、存盤服務器(Storage Server)和客戶端(Client),
Tracker server 追蹤服務器
追蹤服務器負責接收客戶端的請求,選擇合適的組合storage server ,tracker server 與 storage server之間也會用心跳機制來檢測對方是否活著,
Tracker需要管理的資訊也都放在記憶體中,并且里面所有的Tracker都是對等的(每個節點地位相等),很容易進行擴展,同時客戶端訪問集群的時候會隨機分配一個Tracker來和客戶端互動,
Storage server 儲存服務器
實際存盤資料,分成若干個組(group),實際traker的作用,就是管理的storage中的組,而組內機器中則存盤資料,group可以隔離不同應用的資料,不同的應用的資料放在不同group里面,
客戶端Nginx
部署Nginx的目的,是通過Nginx的配置實作請求的轉發,轉發到不同的分組上,進行負載均衡,在部署FastDFS的時候,少不了Nginx,
我們說下集群的流程:
首先你的專案會發一個上傳的請求,這個上傳請求由你的web工程發起, 你的web工程會嵌套FastDFS的客戶端jar包,發起上傳請求,請求先到不同的tracker,因為每個tracker服務器上會部署著nginx,所以多臺tracker的nginx要統一起來,就有了最外層的Nginx,如圖嘴上面的部分,請求分發到不同的tracker上后,由tracker的輪詢演算法,選擇一個組的storage server進行存盤檔案,于是storage server會回傳給你的專案,拿到這個group和路徑,以便后面進行檔案的訪問,
3、FastDFS讀寫操作
3.1、寫資料(上傳檔案)
寫操作的時候,storage會將他所掛載的所有資料存盤目錄的底下都創建2級子目錄,每一級256個總共65536個,新寫的檔案會以hash的方式被路由到其中某個子目錄下,然后將檔案資料作為本地檔案存盤到該目錄中,
3.2、讀資料(下載檔案)
當客戶端向Tracker發起下載請求時,并不會直接下載,而是先查詢storage server(檢測同步狀態),回傳storage server的ip和埠,然后客戶端會帶著檔案資訊(組名,路徑,檔案名),去訪問相關的storage,然后下載檔案,
大概就先介紹到這里,后面再補充吧,回家咯!
后面會介紹一系列安裝,使用程序,不斷更新,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292152.html
標籤:其他
上一篇:nginx--基于crond定時服務+shell腳本實作nginx日志自動清理及備份
下一篇:云計算技術系列文章



