Как я могу форсировать запрос через mod_jk к конкретному работнику? - PullRequest
5 голосов
/ 01 мая 2009

Если у меня настроен mod_jk с несколькими работниками и работником балансировщика нагрузки, есть ли параметр запроса или что-то такое, что позволило бы мне передать конкретный http-запрос конкретному работнику. Например, если у меня есть работник worker1, есть ли что-то вроде этого:

http://www.example.com? Работник = worker1

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

Ответы [ 2 ]

2 голосов
/ 02 мая 2009

Я думаю, что обычная практика заключается в том, чтобы делать это через субдомены, которые являются псевдонимами основного домена. Просто убедитесь, что вы не пускаете Google index, потому что у вас будут проблемы с дублированием контента. IP-фильтрация и ограничительный robots.txt сделают эту работу.

www1.example.com
www2.example.com
1 голос
/ 04 мая 2009
  1. Измените значение файла cookie JSESSIONID. Конец имеет имя работника, к которому вы привязаны (при условии, что вы выполняете липкие сессии)

  2. Используйте SetHandler, как описано здесь http://tomcat.apache.org/connectors-doc/reference/apache.html вместо директив JKMount

    Примерно так:

    
       <Location />  
          SetHandler jakarta-servlet  
          SetEnvIf REQUEST_URI ^/.*\?.*worker=(\w+)&?$ JK_WORKER_NAME=$1  
       </Location>
    
...