URL-адрес для конкретной роли веб-роли Azure

Допустим, у меня есть Azure Web Role с тремя экземплярами. Есть ли способ для меня напрямую получить доступ к каждой роли через изменение URL?

Я пытаюсь проверить конечные точки экземпляров individually--, таким образом, мой запрос.

редактировать

Я не ищу, как спуститься по одному из экземпляров, я ищу, как проверять конечную точку на каждом из экземпляров отдельно.

2 ответа

Конечные точки входа сбалансированы по нагрузке, поэтому вы не можете направлять трафик на один экземпляр.

Сказав это, есть несколько обходных решений:

Там есть событие проверки работоспособности, на которое вы можете настроить обработчик. Во всех, кроме одного из ваших экземпляров, вы можете установить флаг занятости busy, выведя его из балансировки нагрузки. Чтобы снять это, вам понадобится какой-то тип механизма очереди pub/sub (служебная шина?) Для передачи сообщений в экземпляры, позволяя им знать, включать или исключать себя из балансировщика нагрузки. вы бы сделали что-то вроде:

RoleEnvironment.StatusCheck += RoleEnvironment_StatusCheck;

Затем...

void RoleEnvironment_StatusCheck(object sender, RoleInstanceStatusCheckEventArgs e)
{
 if(someMagicConditionToRemoveFromLB)
 e.SetBusy();
}

Другим вариантом было бы иметь что-то вроде ARR, работающего в отдельном экземпляре веб-роли, обеспечивая пользовательскую балансировку нагрузки.

Возможно, вы могли бы придумать другие обходные пути, но в целом балансировка загрузки веб-работника не настраивается для прямого доступа к экземпляру.


Чтобы добавить к тому, что указал Дэвид, вы можете настроить конечные точки InstanceInput на роли. Это создает конечную точку на другом порту, которая будет отправлять трафик непосредственно одному экземпляру. Вы можете сделать это и указать порт локальной конечной точки на 80 и, таким образом, получить возможность обращаться к отдельным экземплярам извне; однако это скорее всего не то, что вы хотите сохранить. Вы можете сделать это как тест, а затем удалить конечные точки с обновлением на месте, которое просто удалило конечные точки экземпляра. Обратите внимание, что во время этого типа обновления вы можете потерять связь, поскольку конечные точки обновляются.

licensed under cc by-sa 3.0 with attribution.