FastDFS文件下載原理

FastDFS文件下載原理

文件下載的原理如下圖所示

在這裏插入圖片描述

  1. client詢問tracker下載文件的storage,參數爲文件標識(組名和文件名)
  2. tracker返回一臺可用的storage
  3. client直接和storage通訊完成文件下載

由於storage有多個存儲節點,存儲節點間的文件同步是在後臺異步進行的,所以有可能出現在讀的時候,文件還沒有同步到某些storage server上,爲了儘量避免訪問到這樣的storage,tracker按照如下規則選擇group內可讀的storage:

  1. 該文件上傳到的源storage - 由於源頭的地址被編碼在文件名中,只要源頭storage存活,優先返回
  2. 文件創建時間戳==storage被同步到的時間戳 且(當前時間-文件創建時間戳) > 文件同步最大時間(如5分鐘) - 文件創建後,認爲經過最大同步時間後,肯定已經同步到其他storage了
  3. 文件創建時間戳 < storage被同步到的時間戳。 - 同步時間戳之前的文件確定已經同步了
  4. (當前時間-文件創建時間戳) > 同步延遲閥值(如一天)。 - 經過同步延遲閾值時間,認爲文件肯定已經同步了

其他篇章文章

1. FastDFS文件系統簡介與架構原理
2. 文件上傳原理
3. 文件下載原理
4. FastDFS文件同步原理與文件目錄簡介
5. 服務端與客戶端之間的通訊協議(自定義的通訊協議)

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