我們基本上使用recommended cloud architecture,其中源圖像存儲在Azure Blob存儲中,imageresizer運行在Azure App Service上,而Azure CDN是CDN圖層。我們可以將Azure Blob存儲用於ImageResizer的ImageCache
不過,我們遇到了ImageResizer v3,Azure App Service deployment slots和DiskCache的問題。
我們使用Azure應用服務上的臨時插槽來防止中斷。我們也使用DiskCache插件。如果沒有任何配置,imagecache將被寫入D:\ home \ site \ wwwroot \ imagecache \,這是特定於插槽的。當我們交換插槽,使用imagecache是陳舊的和大量的圖片將丟失
- :
這會產生兩個問題。
- 我們的應用程序服務計劃總是有一個陳舊的imagecache佔用磁盤空間,我們的Microsoft顧問建議使用Blob存儲而不是DiskCache的虛擬本地文件系統。
我注意到沒有BlobCachePlugin或S3CachePlugin,我想知道是否有一個很好的理由。
我的問題是:
- 有什麼理由不使用存儲實現將指令接口的自定義BlobStorageCachePlugin在Azure的Blob存儲的imagecache?
- 如果有充分的理由,建議您採取哪種替代架構來避免部署插槽問題?
根據http://www.azurespeed.com/,BlobStorage的延遲實際上並不那麼糟糕(大約40ms,有時峯值400ms)。特別是因爲我們的應用程序服務與BlobStorage處於相同的數據中心/地區。你有實踐經驗,否則會有所反映? – Wilgert
我從來沒有見過40毫秒的延遲,也許是100美好的一天。如果你有很好的延遲,你可以看看第三方nuget包。但是,即使是40ms的緩存命中還可以嗎? –