【发布时间】:2021-10-08 13:17:12
【问题描述】:
我们已经成功使用 ImageResizer 为我们的 SaaS 解决方案调整图像大小已有一段时间了。它在 Azure 应用服务上运行,目前,我们在一个实例上运行。我们正在使用磁盘缓存并将数据存储在本地:
<diskcache dir="~/App_Data" autoClean="true" subfolders="1024" />
我们预计在不久的将来请求会增加,因此我们希望在需要时使用自动缩放来扩展应用服务计划。 根据我的研究,我发现,当扩展到 Azure 中的更多实例时,每个实例都将使用 Microsoft 相同的文件系统:
主目录包含应用程序的内容,应用程序代码可以写入其中。如果应用程序在多个实例上运行,则主目录在所有实例之间共享,以便所有实例看到相同的目录。因此,例如,如果应用程序将上传的文件保存到主目录,则这些文件立即可供所有实例使用。 source
ImageResizer 常见问题解答确实说明了以下内容:
是否支持跨多个服务器的负载平衡?
是的,所有插件都支持网络农场、网络花园和负载平衡。source
但这并没有说明共享文件系统。我可以想象这样一种场景,即多个实例同时处理对图像的(初始)请求,并且这些实例希望将调整大小的图像同时写入(共享)本地磁盘缓存。 ImageResizer 会优雅地处理这个问题吗?
【问题讨论】:
标签: azure azure-web-app-service autoscaling imageresizer