IIS7, ARR и WCF ... Можем ли мы сбалансировать нагрузку на наши серверы приложений? - PullRequest
5 голосов
/ 24 августа 2009

Возможно, я имею в виду не тот продукт, который нам нужен, но я хочу знать, могу ли я использовать маршрутизацию запросов приложений (ARR) в IIS7 для загрузки запросов балансировки для нашего уровня приложений.

У нас есть ферма веб-серверов. Каждый будет работать с нашим веб-приложением MVC. Мы балансируем нагрузку на эти серверы через брандмауэр веб-приложений и устройства балансировки нагрузки. В свою очередь, они будут делать вызовы WCF на наши серверы приложений. Именно эти звонки я хочу использовать для управления ARR.

Однако, глядя на ARR, кажется, что все дело в переписывании URL-адресов, исходящих от клиента. Но это не так, как работает наша ситуация. Если пользователь заходит на сайт www.myapp.com/home/index, мы, в свою очередь, будем делать WCF-вызовы службам, настроенным в web.config, чтобы сказать myappservice.foo.local / home / GetInfo.

Как мне настроить этот сценарий или я смотрю не тот продукт?

Ответы [ 2 ]

1 голос
/ 22 сентября 2010

Я не совсем понимаю ваш сценарий, но если я правильно понимаю, я думаю, вы сможете позвонить в службу WCF. Если вам не нужно держать сеанс во время разговора, просто снимите флажок привязки клиента в конфигурации соответствия сервера.

Настройте баланс нагрузки на Round Robin или наименьшее время отклика в интерфейсе балансировки нагрузки, и ваш запрос будет считаться балансировкой нагрузки.

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

0 голосов
/ 30 октября 2010

Я согласен с @Cedric, не уверен, что вопрос был сформулирован так, как мог бы быть?

Какой тип распределения / распределения нагрузки вы хотите достичь?

Вы ищете баланс нагрузки? Распределить нагрузку на определенные фермы серверов на основе содержимого запроса? Какая-то другая функция? Немного больше информации здесь может помочь получить лучший ответ.

Будет ли ARR работать с WCF?

Да, но, насколько мне известно, только с привязками HTTP (wsHttpBinding и basicHttpBinding).

Я все еще представляю, что перед вашими серверами ARR находится аппаратный балансировщик нагрузки (или какой-то другой метод).

Ваши веб-серверы будут выступать в качестве клиентов серверов приложений, обслуживающих ваши запросы WCF. Тем не менее, похоже, что вы уже переходите на DNS-имя myappservice.foo.local / home / GetInfo - если он разрешает виртуальный ip, вы уже получаете какую-то балансировку нагрузки?

Почему бы не использовать имеющиеся у вас "устройства балансировки нагрузки" для балансировки нагрузки?

Я определенно мог бы представить, что аппаратный балансировщик нагрузки обрабатывает запросы для mayappservice.foo.local, который затем преобразуется в виртуальный ip, поддерживаемый вашими серверами ARR. Тогда, возможно, ваши серверы ARR могли бы далее уточнить, кто обслуживает запрос, возможно, с помощью некоторого содержания запроса? Может быть, сопоставить все / home запросы одной группе серверов и все / foo другой?

Уверен, я немного замутил воду! :) Но мне очень любопытно, почему я смотрю на ARR.

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