使用单例的 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 缓存作为在网络应用之间创建共享数据池的高性能方式。
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 缓存作为在网络应用之间创建共享数据池的高性能方式。