Программно создавать новые экземпляры рабочей роли

можно ли программно создавать новые экземпляры рабочей роли? У меня есть рабочая роль, которая зависит от некоторых очередей служебной шины, где она захватывает сообщения и помещает данные в хранилище таблиц, базу данных SQL и отправляет уведомления. Мне нужно иметь возможность добавлять больше экземпляров в зависимости от размеров очереди SB, поскольку они могут постепенно получать большее количество сообщений в будущем. Возможно ли мне контролировать это из моего кода? И как в таком случае?

1 ответов


существует несколько способов достижения этой функциональности:

1) в Windows Azure поддерживает автоматическое масштабирование на основе количества сообщений в очереди служебной шины. Вы можете просто настроить масштабирование для работы внутри портала управления Azure. В настоящее время он свободен в бета-версии, и цена еще не объявлена, когда он будет жить.

2) существует API с открытым исходным кодом под названием васаби из группы шаблонов и практик Microsoft. Тебе понадобится место. чтобы разместить его, но он будет взаимодействовать с Azure Service Management API от вашего имени и предоставит вам платформу для реализации собственного автоматического масштабирования на основе очередей служебной шины. Используя его, вы в основном будете инструментировать некоторые XML-файлы конфигурации

3) Если вы не против использования сторонних продуктов и услуг, есть услуга под названием AzureWatch (С которым я связан), что даст вам способ сделать масштабирование на основе очередей служебной шины так же, как Портал Azure, но у него будет куча других вариантов, функций и служб.

4) Вы можете использовать API управления службами непосредственно для изменения количества экземпляров, но я действительно не рекомендую использовать его напрямую с API, такими как WASABi.

недавно я написал блог о выборе автоматического масштабирования http://blog.paraleap.com/post/2013/07/29/Windows-Azure-Auto-scaling-Options-Side-by-Side-Comparison