Динамическое открытие портов в Azure. Достаточно ли уравновешен балансировщик нагрузки для маршрутизации на правильный? - PullRequest
1 голос
/ 18 марта 2011

Насколько я знаю, я могу открыть только 5 конечных точек в приложении Azure, но что, если я открою эти порты динамически? Пример: у меня есть WorkerRole с <Instances count="2" />, затем экземпляр номер один открывает сокет в одной из 5 доступных конечных точек, которые я объявил в файле «.csdef», когда соединение переходит к «myapp.cloudapp.net». «... есть ли вероятность, что соединение переходит ко второму экземпляру, где нет прослушивающего сокета?

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

Привет.

Ответы [ 2 ]

2 голосов
/ 21 марта 2011

Я предполагаю, что вы говорите о InputEndpoint. Но InternalEndpoints не проходят через балансировщик нагрузки и могут быть адресованы определенно другими ролями. Поэтому вы можете настроить обработчик для веб-роли, который будет перенаправлять запрос в конкретный экземпляр нужной рабочей роли.

2 голосов
/ 18 марта 2011

Вы правильно догадались. Нет абсолютно никакого способа направить трафик к конкретному экземпляру, и балансировщик нагрузки не знает, работает ли прослушиватель на вашем экземпляре. Единственный способ заставить эту работу - чтобы ваше клиентское приложение (подключающееся к вашему развертыванию Windows Azure) продолжало повторять попытки, пока оно не установило успешное соединение.

Общее руководство состоит в том, чтобы: 1) каждый экземпляр работал одинаково, в этом случае открытие слушателей на порте для каждого экземпляра и 2) настройка слушателей в методе OnStart () перед добавлением в Балансировщик нагрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...