fastdfs應用場景

一、fastdfs是什麼

fastdfs是一款開源的輕量級的分佈式文件系統

二、fastdfs能解決什麼問題

分佈式場景下的文件上傳下載讀取問題。分佈式架構下的服務爲了抗住高併發都會存在集羣。但是在有集羣(比如現在有服務器a、b、c)的情況下,如果用戶本次登錄被負載均衡調到服務器a了,此時他在服務器上上傳了一張圖片,然後他註銷了。下一次登錄的時候他又被負載均衡到另一臺服務器b了,此時他想查看他上次上傳的圖片就看不到了。這就產生了數據不同步的問題,集羣的存在帶來了數據不同步的問題。

fastdfs可以解決這個問題。它由client,跟蹤服務器tracker和存儲服務器storage三部分構成。

拿分佈式架構下,用戶上傳圖片的情景舉例。fastdfs的工作過程是這樣的:

  1. 用戶向服務端發起一個上傳圖片的請求
  2. 服務端接收到用戶的請求,並作爲client向fastdfs的跟蹤服務器tracker發送上傳請求。
  3. tracker接收到client的請求,並根據一定的負載均衡策略,向client指定一個存儲的地址,指定圖片放到哪個組進行存儲,並返回給服務端一個包含圖片存儲地址信息的對象。
  4. (補充)每個組裏都有兩個storage儲存服務器,一個是主storage,另外一個是備份的storage。圖片被存到主storage後會被拷貝一份帶到備份storage中。
    但是這個拷貝的過程有可能會出現文件損壞,但坑爹的是fastfds的底層並沒有一個針對文件同步時做校驗的機制,所以爲了確保你自己做的系統的可用性,

三、fastDFS一般搭配Nginx使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章