2011-10-12 52 views
3

Azure的BLOB可用性可供下載一個蔚藍色的斑點,而它正在用新版本覆蓋?期間覆蓋

從使用雲存儲工作室下載我的測試中被阻塞,直到覆蓋完成,但是我的測試是在同一臺機器,所以我不能肯定這是正確的。

如果重寫期間不可用,那麼我相信該解決方案(以保持高可用性)會使用不同的BLOB名稱上傳,然後重命名一旦完成。有沒有人有比這更好的解決方案?

回答

2

團塊期間覆蓋可用。你看到的將取決於你是否使用塊blob或頁面blob。對於塊blob,您將下載較舊的版本,直到最後的塊提交。最後的PutBlockList操作會自動將blob更新爲新版本。然而,我並不確定是否有非常大的blob,你正在下載PutBlockList原子更新blob時發生的情況。選擇是:a。)請求繼續使用較舊的blob,b。)連接中斷,或者c :)開始下載新blob的字節。多麼有趣的事情來測試!

如果您使用的頁面斑點(沒有租賃)的頁面範圍,你下面更新,你會讀到不一致的數據。每個頁面範圍更新都是原子性的,但它看起來很奇怪,除非您租用blob並讓其他讀者出去(讀者可以快照租用的blob並讀取狀態)。

我可能會嘗試在讀取場景中間測試塊blob更新以查看會發生什麼。但是,您的核心問題應該回答:blob可用。

+0

謝謝你的回答全面,我想我將有樂趣測試塊斑點更新方案。 –