azure - Azure Web App for Containers - Auto Scale 如何处理内部服务器存储?
问题描述
我对自动缩放和 Azure Web App for Containers 有一些疑问。
我们目前有“WEBSITES_ENABLE_APP_SERVICE_STORAGE”选项 = true,所以,我们的容器正在访问 Web 服务器来存储文件,太好了!
但是,在自动缩放的时刻,如何处理这些存储?应用程序将有权访问这些文件,具有 I/O,当它缩小时,所有文件都将被“合并”?
而且,自动缩放功能会创建服务器的副本,还创建存储的副本?
另一个疑问是关于应用程序,如果规模为 3,而我的服务器是 15 个 Web 应用程序,那么每个服务器将有 15 个应用程序还是 5 个?(15/3)。
感谢您的任何帮助。
解决方案
文件不需要合并以进行缩放,因为它们要么完全是本地的,要么存在于始终在所有实例(主文件夹)之间共享的共享文件系统上。
https://github.com/projectkudu/kudu/wiki/Understanding-the-Azure-App-Service-file-system
持久化文件
这是您可以查看的网站文件。它们遵循此处描述的结构。它们植根于 d:\home,也可以使用 %HOME% 环境变量找到它。对于 Linux 上的应用服务和容器的 Web 应用,持久存储植根于 /home。
这些文件是持久的,这意味着您可以依赖它们保留在那里,直到您对它们进行更改。此外,它们在您网站的所有实例之间共享(当您将其扩展到多个实例时)。在内部,其工作方式是它们存储在 Azure 存储中,而不是位于本地文件系统中。
免费和共享网站获得 1GB 空间,基本网站获得 10GB,标准网站获得 50GB。在 Web 应用定价页面上查看更多详细信息。
对于您的第二个问题:您的应用服务计划的每个实例都将运行已部署的每个应用服务的一个实例。
推荐阅读
- r - 使用 `rlang` 创建一个`~ x + y` 类型的新公式
- sql-server - Entity Framework Core + Spatial Data is Raising SRID not vaild 错误
- python - 按钮和标签未正确放置在框架上
- node.js - 具有服务主体和机密的 node.js REST 端点的 Azure AD 身份验证
- mysql - 如何将两个选定的列组合成一个表?
- functional-programming - Perl 6使用reduce一次计算一个int数组的平均值
- r - 为什么 ggplot 错误地填充了我的曲线下的区域?
- perl - 包括在当前文件中生成的 perl 文件
- phaser-framework - 来回移动平台的代码
- angular - 如何对数据值使用指令?