需要將老系統的檔案全量遷移到fastdfs中去。
目前遇到的問題是,fastdfs的檔案目錄不能自定義,全部由fastdfs自己生成。
另一個問題是,fastdfs檔案名稱包含了很多元資料資訊,所以有要求30位以上。老系統的檔案名稱有很多沒有這么長。
-------------------------------------
想咨詢:
1、fastdfs目錄可以自定義不?或者定義好了,可以通過什么配置讓他生效。
2、fastdfs檔案名稱能不能自定義,不用滿足30位字串的長度要求。
3、大家從別的檔案服務遷移到fastdfs都用的什么方案。
--------------------------------------
在線等......
uj5u.com熱心網友回復:
fastDFS 作為分布式檔案系統,檔案應是是以“塊”存盤的,路徑估計不能自定義。而檔案名(檔案id)你也說了包含一些“元資料”,要是支持自己命名檔案那怎么支持他分布式負載的特性?你自己寫一套邏輯?所以我說說第三點,老系統代碼就得改了,如果你前期系統抽象的好,改起來還是比較簡單的。
如果老系統里有“檔案表”,且其余的“業務表”是通過“id”關聯“檔案表”的話,就簡單一點。“檔案表”直接加一列“fastdfs_id”欄位,自己在寫段代碼處理歷史資料,將“檔案表”所有檔案上傳到 fastdfs ,更新回傳的檔案名(檔案id)作為“fastdfs_id”。然后獲取檔案那將邏輯變為從 fastdfs 根據“fastdfs_id”獲取就好了。如果沒有“檔案表”,而是檔案資訊保存在各自的“業務表”,那就只能一個個表處理啦。
uj5u.com熱心網友回復:
直接檔案對拷到fastdfs的檔案存盤目錄去就好了
uj5u.com熱心網友回復:
1 你的老檔案系統是存盤在什么系統上?用什么介面(ftp,http,samba……)訪問?2 你新建的檔案服務面向什么服務、app?訪問介面要求是什么
要根據你的使用需求設計fastdfs方案
uj5u.com熱心網友回復:
比較奇怪的是我們用的FastDFS server v6.07,檔案名稱小于30位不行。但是另一個朋友用的5.05,檔案名稱(/group1/M00/01/11/abc.jpg)沒有三十位也可以!
uj5u.com熱心網友回復:
fastdfs應該沒有用檔案id的元資料來支持分布式特性,因為一遷移豈不是全部么有了,難道我遷移了,相同組的storage備份了,檔案id元資料中的storage ip不做改變fastdfs就廢了么...不能吧!
目前的問題是我們另一個朋友他們用的5.05的版本,可以自己在fastdfs生成好的目錄中隨意修改檔案名稱,也能夠正常的訪問。而我們用的FastDFS server v6.07版本,就不能這樣干,不知道是不是有啥配置沒有配
uj5u.com熱心網友回復:
現在知道我朋友的fastdfs為什么可以了,他的nginx配置了直接指定到存盤的data目錄,并沒有使用ngx_fastdfs_module。所以檔案名稱可以亂來轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/172217.html
標籤:Web 開發
上一篇:java問題求大佬解答
