【问题标题】:Azure Auto Scaling with a Singleton Class带有单例类的 Azure Auto Scaling
【发布时间】:2016-01-22 10:57:33
【问题描述】:

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

我的问题是如果你有一个单例类并运行多个实例会发生什么,这个类每个实例是否存在一次? 根据我的理解,每个实例都会初始化单例类,这是正确的吗?

【问题讨论】:

    标签: c# azure web-applications singleton


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      由于单例在每个实例 (VM) 上的自己的应用程序空间中运行,您将为每个“实例”获得一个单例。

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

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

      【讨论】:

        猜你喜欢
        • 2017-07-05
        • 2017-09-12
        • 2015-08-16
        • 2018-09-30
        • 2021-08-25
        • 1970-01-01
        • 2013-07-17
        • 2020-07-22
        • 2014-01-06
        相关资源
        最近更新 更多