2016-06-12 17 views
2

我很疑惑爲什麼Microsoft Azure更傾向於使用「blob」來爲應用程序日誌記錄「追加blob」。爲什麼Microsoft Azure網站使用塊blob而不是將日誌追加爲blob

我的理解是,'append blob'客戶端可以簡單地將一行文本添加到blob,而無需將任何塊下載到客戶端。

追加'塊blob'涉及到下載blockids或內容並追加到客戶端,然後將其寫回到blob。涉及更多工作。

爲什麼Microsoft Azure沒有在自己的實現中使用預期的寫日誌方法?有沒有注意使用'追加blob'進行日誌記錄?

+2

純粹推測性的答案 - 很可能是背後的原因是記錄網站早於Append Blobs,團隊尚未做出更改。但追加斑點是記錄場景的理想選擇。 Azure網站團隊的成員可能會得到明確的答案。 –

回答

1

確切地說,追加blob是相當新的,而塊blob的日誌記錄解決方案則會返回。由於它所引入的遺留和所有當前的依賴關係,現在很難改變它。

+0

正如@gaurav在他的評論中所說的那樣:這是純粹的猜測。 –

1

從我的經驗來看,Append blob 有一些額外開銷,並且可以附加多少次。 典型的日誌有許多行添加一個接一個。

當追加次數變得非平凡時,讀數變得非常慢。 顯然追加blob是內部的某種鏈接列表。總之,更新塊或頁面blob的實際字節對性能更好。

另外,追加blob更新,日誌可能是Azure上的第一個功能之一。

如果有一些公開API或庫 可以通過更新blob來隱藏模擬追加的複雜性,那將會非常有用。

相關問題