eaweedfs之Volume讀請求重定向

2021-07-10 03:38:40 字數 1258 閱讀 4734

『場景展現』

啟動乙個 weed master 服務。

weed master -mdir="/tmp/mdata" -defaultreplication="000"

啟動兩個 weed volume 服務。

weed volume -dir=/tmp/vol1/ -mserver="127.0.0.1:9333" -port=8080

weed volume -dir=/tmp/vol2/ -mserver="127.0.0.1:9333" -port=8081

上傳乙個檔案

curl -f "file=1234" ""

通過返回的 fileurl 可以正常訪問到。

curl 127.0.0.1:8081/4,01146873ae

1234

但是當我們用同乙個fid去請求另一台機器的時候,會獲取到乙個 http 302 moved permanently 的結果。

『實現原理』

根據原始碼驗證了一下, 

原理在於 volume 本身快取著 volumeid 到 localtion(也就是volumeserver的url位址)的鍵值對, 

根據 volumeid 可以得知應該重定向到哪台 volumeserver。 

快取時間目前是**裡面寫死的10分鐘,快取過期後再去從 masterserver 獲取,

所以這個重定向的功能當 masterserver 掛掉的時候是無法實現的。即使 volumeserver 都還存活。

所以之前可能很多人認為 masterserver 只和上傳檔案,也就是檔案的寫操作有關, 

和讀操作沒有任何關係。但是像這個redirect的事情,就需要借助 masterserver 實現。

本身這部分實現原理沒有太多高深的技術, 

只算是閱讀原始碼驗證一下實現思路吧, 

簡單有效的實現方式就挺好的。

使用Docker儲存之卷Volume

最近乙個專案要使用data volume,這裡簡單記錄一下。資料卷可以用來儲存docker應用的資料,也可以用來在docker容器間進行資料共享。資料卷呈現給docker容器的形式就是乙個目錄,支援多個容器間共享,修改也不會影響映象。特性 資料卷可以在容器之間共享和重用 對資料卷的修改會立刻生效 對...

volume的含義 volume是什麼意思

volume是什麼意思 volume在計算機領域有 卷標 音量 之意 在 用語上表示 成交量 成交金額及其 圖 在生活中有 體積 的意思。volume v lju m n.量 體積 卷 音量 大量 冊 adj.大量的 vi.成團捲起 vt.把 收集成捲 volume2是乙個既實用又華麗的音量控制增強...

docker容器資料儲存之 volume 詳解

預設容器的資料的讀寫發生在容器的儲存層,當容器被刪除時其上的資料將會丟失。所以我們應該盡量保證容器儲存層不發生寫操作,為了實現資料的持久化儲存我們需要選擇一種方案來儲存資料,當前有以下幾種方式 無論你選擇哪種mount型別,從container內部看沒有區別,它們都是目錄或者檔案。資料都是寄存在宿主...