天天看點

FastDFS檔案存儲FastDFS檔案存儲

FastDFS檔案存儲

1. FastDFS介紹

  • c語言

    編寫的一款開源的輕量級分布式檔案系統。
  • 功能包括:檔案存儲、檔案通路(檔案上傳、檔案下載下傳)、檔案同步等,解決了大容量存儲和負載均衡的問題。特别适合以檔案為載體的線上服務,如相冊網站、視訊網站等等。
  • 為網際網路量身定制,充分考慮了備援備份、負載均衡、線性擴容等機制,并注重高可用、高性能等名額。
  • 可以幫助我們搭建一套高性能的檔案伺服器叢集,并提供檔案上傳、下載下傳等服務。
    FastDFS檔案存儲FastDFS檔案存儲
  • FastDFS架構包括Client、Tracker server和Storage server
    • Client

      請求

      Tracker

      進行檔案上傳、下載下傳,

      Tracker

      再排程

      Storage

      完成檔案上傳和下載下傳。
  • Client: 用戶端,業務請求的發起方,通過專有接口,使用TCP/IP協定與

    Tracker

    Storage

    進行資料互動。FastDFS提供了

    upload

    download

    delete

    等接口供用戶端使用。
  • Tracker server:跟蹤伺服器,主要做排程工作,起負載均衡的作用。在記憶體中記錄叢集中所有存儲組和存儲伺服器的狀态資訊,是用戶端和資料伺服器互動的樞紐。
  • Storage server:存儲伺服器(存儲節點或資料伺服器),檔案和檔案屬性都儲存到存儲伺服器上。Storage server直接利用OS的檔案系統調用管理檔案。
    • Storage群中的橫向可以擴容,縱向可以備份。

2. FastDFS上傳和下載下傳流程

FastDFS檔案存儲FastDFS檔案存儲

3. FastDFS檔案索引

FastDFS檔案存儲FastDFS檔案存儲
  • FastDFS上傳和下載下傳流程可以看出都涉及到一個資料叫檔案索引(file_id)。
    • **檔案索引(file_id)**是用戶端上傳檔案後Storage傳回給用戶端的一個字元串,是以後通路該檔案的索引資訊。
  • 檔案索引(file_id)資訊包括:組名、虛拟磁盤路徑、資料兩級目錄、檔案名等資訊。
    • 組名:檔案上傳後所在的 Storage 組名稱。
    • 虛拟磁盤路徑:Storage 配置的虛拟路徑,與磁盤選項

      store_path*

      對應。如果配置了

      store_path0

      則是

      M00

      ,如果配置了

      store_path1

      則是

      M01

      ,以此類推。
    • 資料兩級目錄:Storage 伺服器在每個虛拟磁盤路徑下建立的兩級目錄,用于存儲資料檔案。
    • 檔案名:由存儲伺服器根據特定資訊生成,檔案名包含:源存儲伺服器IP位址、檔案建立時間戳、檔案大小、随機數和檔案拓展名等資訊。
      FastDFS檔案存儲FastDFS檔案存儲

繼續閱讀