Назад | Перейти на главную страницу

Баланс нагрузки между двумя виртуальными каталогами на одной машине с IIS6

Я пытаюсь смоделировать производственную среду с помощью одной виртуальной машины. В производственной среде будет 3 сервера за балансировщиком нагрузки с закрепленными сессиями. Производство будет использовать IIS6. Для разработки мне не нужно распределять нагрузку, но я хочу убедиться, что команда не пишет код, основанный на односерверном модуле.

Я надеялся создать два виртуальных каталога и найти какой-нибудь фильтр isapi для выполнения элементарной балансировки нагрузки программного обеспечения, но мне не удалось найти ничего подходящего. isapi_rewrite подходит близко, но нет возможности случайной перезаписи. Мне даже не нужны липкие сеансы, поскольку приложение (теоретически) на них не полагается.

Есть ли что-то легкое / бесплатное для этого, или я застрял с несколькими виртуальными машинами и настройкой NLB (что кажется полным излишеством)?

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

Если вы хотите сохранить все это на одной виртуальной машине, как насчет использования продукта, отличного от IIS, перед IIS? Что-то вроде nginx может балансировать нагрузку между двумя сайтами IIS (или виртуальными каталогами), и все они должны работать на одной виртуальной машине.

Я не знаю легкого пути. Либо вы тестируете веб-сайт на одной виртуальной машине без балансировки нагрузки (вы, вероятно, сможете провести множество тестов в такой среде), либо вы устанавливаете ту же конфигурацию, что и в производственной среде, но на нескольких виртуальных машинах. На новую машину VMware можно импортировать информацию с реальных компьютеров.

Извините за плохие новости.

Я получил это вчера с чем-то похожим на решение MattB. Я пробовал и IIRF, и Helicon APE, оба из которых теоретически могли делать то, что мне нужно. IIRF меня очень близко подобрал, но по какой-то причине мне нужны были двойные постбэки, чтобы все заработало. Я использовал бета-версию 2.1 и думаю, что поддержка будет, но ее еще нет.

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

Я также посмотрел на nginx, но мне показалось, что это не так, поскольку я работал с Windows, и он явно не предназначен для этой ОС.

И Helicon APE, и IIRF пытались имитировать функциональность Apache, поэтому я просто установил Apache перед IIS, используя mod_proxy и mod_proxy_balancer, чтобы выполнить свою работу. Я все еще могу установить mod_proxy_html, чтобы URL-адреса были единообразными, но это мелочь.

У меня также есть некоторые проблемы с WCF (1 физический каталог, 2 виртуальных каталога с разными внутренними номерами портов), но я рассматриваю это как отдельную проблему на данный момент. Для этой проблемы я, вероятно, сделаю что-то подобное: https://stackoverflow.com/questions/508892/multiple-base-addresses-in-single-wcf-service

http://iirf.codeplex.com/ http://www.helicontech.com/ape/