2015-10-23 2 views
0

Azure имеет этот параметр, который вы можете активировать Auto Scale. Экземпляры вашего веб-приложения зависят от того, насколько велика текущая нагрузка.Azure Auto Scaling с классом Singleton

Вопрос, что произойдет, если у вас есть Singleton Class и запустить несколько экземпляров, будет ли этот класс существовать один раз за экземпляр? Из моего занижения каждого экземпляра будет инициализирован класс Singleton, это правильно?

ответ

1

Каждый экземпляр «на самом деле» - это просто еще одна виртуальная машина, на которой работает ваше веб-приложение. Следовательно, у каждого будет свой собственный пул приложений, пространство памяти и рабочий процесс IIS, обрабатывающий его трафик для вашего веб-приложения.

Поскольку однотонный терминал работает в своем собственном пространстве приложений на каждом из этих экземпляров (виртуальных машинах), вы получите один синглтон для каждого экземпляра.

Если вы заинтересованы в создании экземпляров объектов, которые выходят за пределы их расположения памяти, ознакомьтесь с шаблоном Actor, проектом Orleans и новой Azure Service Fabric. Эти технологии являются реализациями шаблона Actor и позволяют создавать объект, который агностик для физической инфраструктуры, на которой он работает.

Если вы заинтересованы в совместном использовании нескольких экземпляров своего веб-приложения, проверьте Redis cache как высокоэффективный способ создания общего пула данных между веб-приложениями.

0

Был бы один экземпляр Singleton для каждого веб-сайта/рабочего экземпляра.

Смежные вопросы