Apache Jakarta (Tomcat) Соединитель для перенаправления трафика на определенный Tomcat - PullRequest
0 голосов
/ 13 марта 2012

Существует один вариант использования, который я пока не могу решить с помощью функции балансировки нагрузки коннектора Apache Jakarta (Tomcat).

У меня есть один сайт IIS, к которому подключен один Apache Tomcat Connector. Мне нужно "перенаправить" трафик на другой Tomcat в зависимости от запрашиваемого URI. Это довольно просто сделать, когда у вас есть только приложения с определенным контекстом (например, / app1, / ​​app2 и т. Д.). Моя проблема в том, что у меня есть одно приложение (в одном Tomcat), которое находится в / (ROOT), и одно другое приложение (в другом Tomcat), которое находится в /app1.

.

Я попробовал следующий конфиг в uriworkermap.properties:

/*=loadBalancer1
/app1/*=loadBalancer2

Но это не работает, потому что «loadBalancer1» забирает весь трафик. «loadBalancer2» игнорируется, что имеет смысл, поскольку / app1 / * соответствует / * (регулярное выражение мудрое).

Я также попытался добавить исключение следующим образом:

/*=loadBalancer1
!/app1/*=loadBalancer1
/app1/*=loadBalancer2

Но это тоже не работает, потому что «loadBalancer1» по-прежнему принимает весь трафик, но просто игнорирует этот шаблон «/ app1 / *» URI. «loadBalancer2» просто снова игнорируется.

Любое предложение, учитывая, что у меня не может быть 2 сайтов IIS, и при этом я не могу переместить приложение, находящееся в / (ROOT), в другой контекстный путь в Tomcat?

Спасибо

Edit: Вместо того чтобы использовать только один Apache Tomcat Connector, я использую 1 коннектор для каждого Tomcat на одном сайте IIS.

uriworkermap.properties # 1: для Tomcat с приложением в / (ROOT)

/*=wlb
!/app1/*=wlb

uriworkermap.proerties # 2: для Tomcat с приложением в / app1

/app1/*=wlb

Соединитель # 1 будет игнорировать трафик по URI "/ app1 / *", но соединитель # 2 будет перехватывать его (и наоборот).

Теперь я могу устанавливать различные параметры виртуальной машины и распределение памяти для своих приложений!

Я открыт для комментариев или лучшего решения ..

1 Ответ

0 голосов
/ 13 марта 2012

Работает ли, когда вы переворачиваете его как таковой?

/app1/*=loadBalancer2
/*=loadBalancer1
...