最簡單的分散式檔案系統 go-fastdfs

sjqzhang發表於2020-03-09

中文 English

願景:為使用者提供最簡單、可靠、高效的分散式檔案系統。

logo

go-fastdfs 是一個基於 http 協議的分散式檔案系統,它基於大道至簡的設計理念,一切從簡設計,使得它的運維及擴充套件變得更加簡單,它具有高效能、高可靠、無中心、免維護等優點。

大家擔心的是這麼簡單的檔案系統,靠不靠譜,可不可以用於生產環境?答案是肯定的,正因為簡單所以高效,因為簡單所以穩定。如果你擔心功能,那就跑單元測試,如果擔心效能,那就跑壓力測試,專案都自帶了,跑一跑更放心^_^。

注意:使用前請認真閱讀使用文件

  • 支援 curl 命令上傳
  • 支援瀏覽器上傳
  • 支援 HTTP 下載
  • 支援多機自動同步
  • 支援斷點下載
  • 支援配置自動生成
  • 支援小檔案自動合併 (減少 inode 佔用)
  • 支援秒傳
  • 支援跨域訪問
  • 支援一鍵遷移(搬遷)
  • 支援異地備份(特別是小檔案 1M 以下)
  • 支援並行體驗
  • 支援斷點續傳 (tus)
  • 支援 docker 部署
  • 支援自監控告警
  • 支援圖片縮放
  • 支援 google 認證碼
  • 支援自定義認證
  • 支援叢集檔案資訊檢視
  • 使用通用 HTTP 協議
  • 無需專用客戶端(支援 wget,curl 等工具)
  • 類 fastdfs
  • 高效能 (使用 leveldb 作為 kv 庫)
  • 高可靠(設計極其簡單,使用成熟元件)
  • 無中心設計 (所有節點都可以同時讀寫)

優點

  • 無依賴 (單一檔案)
  • 自動同步
  • 失敗自動修復
  • 按天分目錄方便維護
  • 支援不同的場景
  • 檔案自動去重
  • 支援目錄自定義
  • 支援保留原檔名
  • 支援自動生成唯一檔名
  • 支援瀏覽器上傳
  • 支援檢視叢集檔案資訊
  • 支援叢集監控郵件告警
  • 支援小檔案自動合併 (減少 inode 佔用)
  • 支援秒傳
  • 支援圖片縮放
  • 支援 google 認證碼
  • 支援自定義認證
  • 支援跨域訪問
  • 極低資源開銷
  • 支援斷點續傳 (tus)
  • 支援 docker 部署
  • 支援一鍵遷移(從其他系統檔案系統遷移過來)
  • 支援異地備份(特別是小檔案)
  • 支援並行體驗(與現有的檔案系統並行體驗,確認 OK 再一鍵遷移)
  • 支援 token 下載 token=md5(file_md5+timestamp)
  • 運維簡單,只有一個角色(不像 fastdfs 有三個角色 Tracker Server,Storage Server,Client),配置自動生成
  • 每個節點對等(簡化運維)
  • 所有節點都可以同時讀寫

極速體驗,只需一分鐘

啟動伺服器(已編譯,下載

./fileserver # 注意:線上使用請使用專案的control檔案進行管理,直接執行,關閉終端會退出。

命令上傳

curl -F file=@http-index-fs http://10.1.xx.60:8080/group1/upload

WEB 上傳(瀏覽器開啟)

http://yourserver ip:8080 注意:不要使用 127.0.0.1 上傳

使用文件

視訊教程

更多原創文章乾貨分享,請關注公眾號
  • 最簡單的分散式檔案系統 go-fastdfs
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章