Tomcat Load Balancer с Apache, използвайки Mod Proxy и Session Sticky

Конфигурирайте Tomcat с Apache с помощта Прокси модул и лепкава сесия


Конфигурирането на Tomcat Load Balancer с Apache уеб сървър чрез Mod Proxy е доста лесно.

Лесно е, когато следвате последователността и всичко върви добре. Изброих следното стъпка по стъпка как да конфигурирате Apache с Tomcat, за да конфигурирате Load Balancer с помощта на Mod Proxy.

Балансирането на натоварването винаги се препоръчва в производствена среда за по-добра наличност.

Конфигурация на уеб сървъра Apache

  • Активиране на proxy_module, proxy_balancer_module и proxy_http_module в httpd.conf на уеб сървъра Apache

LoadModule proxy_module модули / mod_proxy.so
LoadModule proxy_balancer_module модули / mod_proxy_balancer.so
LoadModule proxy_http_module модули / mod_proxy_http.so

Добавете прокси пропуск заедно с име на балансьор за корен на контекста на приложението.

В този пример имам прокси път като примери и име на балансира като MYCLUSTER.

Много важно да се включи stickysession тъй като няма тази опция, ще разпространи една и съща заявка до няколко Tomcat сървъра и ще имате проблеми с изтичане на сесията в приложение.

ProxyRequests Off
ProxyPass / примери за балансиране: // mycluster stickysession = JSESSIONID
ProxyPassReverse / примери за балансиране: // mycluster stickysession = JSESSIONID

BalancerMember http: // localhost: 8080 / example route = server1
BalancerMember http: // localhost: 8090 / примери route = server2

Както можете да видите в горната конфигурация, добавих маршрут в BalancerMember, така че стойността на маршрута може да бъде добавена към идентификационния номер на сесията.

Сега нека да конфигурираме Apache да печата JSESSIONID в дневници за достъп.

  • Добавете следното в директивата LogFormat

% {JSESSIONID} С

Ex:

LogFormat "% h% l% u% t "% г" %>s% b "% {Referer} аз" "% {Потребителски агент} аз""% {JSESSIONID} С"" комбиниран

  • Рестартирайте Apache Web Server

Конфигурация на Tomcat

Трябва да конфигурирате екземпляри tomcat със същия идентификатор на маршрута, както сте направили BalancerMember по-горе.

  • Добавете параметъра jvmRoute в server.xml на Tomcat. Това трябва да се добави в маркера за име на двигателя.

Tomcat екземпляр, конфигуриран с 8080 порт

Tomcat екземпляр, конфигуриран с 8090 порт

  • Рестартирайте Tomcat сървъра

проверка

Генерирайте някакво натоварване на приложението и проверете дневника за достъп на апашър сървъра, за да гарантирате, че вашата заявка е насочена към само един екземпляр tomcat.

Също така ще забележите, че идентификационният ви номер на сесията е добавен към маршрута, както е показано в примера по-долу.

Ex:

127.0.0.1 – – [18 / септември / 2013: 10: 02: 02 +0800] "POST / примери / servlets / servlet / RequestParamExample HTTP / 1.1" 200 662 "HTTP: // Localhost / примери / сървлети / сървлет / RequestParamExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / септември / 2013: 10: 02: 06 +0800] "GET / примери / servlets / servlet / RequestInfoExample HTTP / 1.1" 200 693 "HTTP: // Localhost / примери / сървлети /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / септември / 2013: 10: 02: 17 +0800] "GET /examples/servlets/reqinfo.html HTTP / 1.1" 200 3607 "HTTP: // Localhost / примери / сървлети /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / септември / 2013: 10: 02: 20 +0800] "GET / примери / servlets / servlet / SessionExample HTTP / 1.1" 200 1124 "HTTP: // Localhost / примери / сървлети /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / септември / 2013: 10: 02: 26 +0800] "POST / примери / servlets / servlet / SessionExample HTTP / 1.1" 200 1142 "HTTP: // Localhost / примери / сървлети / сървлет / SessionExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / септември / 2013: 10: 02: 28 +0800] "GET / примери / servlets / servlet / SessionExample? Dataname = fda&datavalue = fadaf HTTP / 1.1" 200 1159 "HTTP: // Localhost / примери / сървлети / сървлет / SessionExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B4EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / септември / 2013: 10: 02: 32 +0800] "GET / примери / servlets / servlet / SessionExample? Dataname = foo&datavalue = bar HTTP / 1.1" 200 1174 "HTTP: // Localhost / примери / сървлети / сървлет / SessionExample ИмеНаДанни = FDA&datavalue = fadaf" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / септември / 2013: 10: 02: 36 +0800] "GET / примери / servlets / servlet / RequestHeaderExample HTTP / 1.1" 200 1423 "HTTP: // Localhost / примери / сървлети /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"

Надявам се това да ви помогне в конфигурирането на Tomcat Load Balancer с Apache Mod Proxy и Session Sticky.

Ако желаете да научите за администрацията на Tomcat, проверете това онлайн курс.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map