使用单例的 Azure Auto Scaling Class

Azure Auto Scaling with a Singleton Class

Azure 具有此设置,您可以根据当前负载的大小自动缩放 运行您的 Web 应用程序的实例。

我的问题是,如果您有单例 Class 和 运行 多个实例,会发生什么情况,这个 class 每个实例会存在一次吗? 根据我的低估,每个 Instance 都会初始化 Singleton Class,这是正确的吗?

每个 web/worker 个实例将有一个 Singleton 实例。

每个 'instance' 实际上只是另一个虚拟机 运行 您的网络应用程序。因此,每个都有自己的应用程序池、内存 space 和 IIS 工作进程处理您的 Web 应用程序的流量。

由于在这些实例 (VM) 中的每个实例 (VM) 上,单例都在其自己的应用程序 space 中运行,因此每个 'instance'.

您将获得一个单例

如果您有兴趣创建超越内存位置的对象实例,请查看 Actor 模式、Orleans 项目和新的 Azure Service Fabric。这些技术是 Actor 模式的实现,允许您创建一个不受其运行的物理基础设施影响的对象。

如果您只对在网络应用的多个实例之间共享状态感兴趣,请查看 Redis 缓存作为在网络应用之间创建共享数据池的高性能方式。