2013-08-26 3 views
6

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

ответ

9

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

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

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

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

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

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

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