我们基本上使用存储在Azure Blob存储中的源图像的recommended cloud architecture,imageresizer在Azure App Service上运行,Azure CDN是CDN层。
尽管如此,我们遇到了ImageResizer v3,Azure App Service deployment slots和DiskCache的问题。
我们在Azure App Service上使用临时插槽来防止中断。我们还使用DiskCache插件。没有任何配置,imagecache将写入D:\ home \ site \ wwwroot \ imagecache \,这是特定于插槽的。
这会产生两个问题:
我注意到没有BlobCachePlugin或S3CachePlugin,我想知道是否有充分的理由。
我的问题是:
答案 0 :(得分:2)
缓存需要低延迟。将缓存放在Blob存储上会使缓存命中执行得非常糟糕,每个请求可能会增加800-1800ms。如果Redis服务器可用,有一些方法可以使这项工作更好,但它仍然不能像使用低延迟存储一样好。
冷缓存问题的解决方案:
imagecache
个文件夹之间进行某种计划复制,而这些文件夹只会添加'文件。不要尝试修改或删除主动服务的文件或目录。 这意味着您无法启用autoClean来自动清除缓存条目;设置磁盘使用情况监控。
答案 1 :(得分:0)
如果您的Web App前面有CDN,那么您是否需要DiskCache插件(或请求的Blob存储缓存)?
Web应用程序处理完图像后,它会被其中一个CDN边缘服务器缓存,那么在Web App / Blob存储服务中缓存它的目的是什么呢?