Windows Azure позволяет добавлять экземпляры на лету, не перезагружая другие экземпляры. Вам нужно будет сообщить об этом Azure во время обработки события RoleEnvironment_Changing.
Также верно, что по умолчанию Windows Azure ограничивает ваш предел размещаемых служб до 6 для каждой учетной записи. Я полагаю, что вы можете увеличить этот лимит, позвонив в их службу поддержки и сняв ограничение после того, как они выполнят проверку кредитоспособности ... Однако правильная схема масштабирования - НЕ добавлять дополнительные услуги, а добавлять дополнительные экземпляры.
Вот пример, который гарантирует, что ваши экземпляры не будут перезагружены после добавления новых:
public override bool OnStart()
{
RoleEnvironment.Changing += RoleEnvironmentChanging;
return base.OnStart();
}
private void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e)
{
// If a configuration setting is changing
if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange))
{
// Set e.Cancel to true to restart this role instance
e.Cancel = false;
}
}
По совпадению, если вы хотите настроить автоматическое масштабирование, добавляя или удаляя экземпляры в вашу службу по мере увеличения или уменьшения спроса, вы можете обратиться к сторонней службе под названием AzureWatch по адресу http://www.paraleap.com