Tomcat Load Balancer met Apache met behulp van Mod Proxy en Session Sticky

Stel Tomcat met Apache op met behulp van Proxy Module en taai sessie


Dit is redelik maklik om Tomcat Load Balancer met Apache-webbediener te konfigureer met behulp van Mod Proxy.

Dit is maklik as u die volgorde volg, en alles gaan goed. Ek het die volgende stap-vir-stap gelys hoe om Apache met Tomcat te konfigureer om Load Balancer op te stel met behulp van Mod Proxy.

Om ‘n lasbalans te hê, word altyd in ‘n produksieomgewing aanbeveel vir beter beskikbaarheid.

Apache-webbediener-konfigurasie

  • Aktiveer proxy_module, proxy_balancer_module en proxy_http_module in httpd.conf van Apache-webbediener

LoadModule proxy_module modules / mod_proxy.so
LoadModule proxy_balancer_module modules / mod_proxy_balancer.so
LoadModule proxy_http_module modules / mod_proxy_http.so

Voeg volmagkaart saam met die naam van die balanseerder vir die toepassingskontekswortel.

In hierdie voorbeeld het ek ‘n instaanpad as voorbeelde en naam van die balanseerder mycluster.

Baie belangrik om in te sluit stickysession omdat u nie hierdie opsie het nie, sal dieselfde versoek na verskeie Tomcat-bedieners versprei word, en u sal probleme met sessieverval in ‘n toepassing hê.

ProxyRequests Off
ProxyPass / voorbeelde balanseerder: // mycluster stickysession = JSESSIONID
ProxyPassReverse / voorbeelde balanseer: // mycluster stickysession = JSESSIONID

BalancerMid http: // localhost: 8080 / voorbeelde roete = bediener1
BalancerMid http: // localhost: 8090 / voorbeelde roete = bediener2

Soos u hierbo kan sien, het ek ‘n roete in BalancerMember bygevoeg, sodat die roetewaarde by die sessie-ID gevoeg kan word.

Laat ons nou Apache opstel om JSESSIONID in toegangslogboeke te druk.

  • Voeg die volgende in die LogFormat-richtlijn

% {JSESSIONID} C

ex:

LogFormat "% h% l% u% t "% r" %>s% b "% {Referer} i" "% {User-agent} i""% {JSESSIONID} C"" gekombineer

  • Herbegin Apache-webbediener

Tomcat-opstelling

U moet tomcat-instansies met dieselfde roete-ID opstel as in BalancerMember bo.

  • Voeg jvmRoute-parameter by server.xml van Tomcat. Dit moet bygevoeg word in die naam van die enjin.

Tomcat-instansie gekonfigureer met 8080 hawe

Tomcat-instansie gekonfigureer met 8090 hawe

  • Herbegin Tomcat-bediener

Verifikasie

Genereer ‘n bietjie las op die program en kyk na die toegangslogboek van die apache-bediener om te verseker dat u versoek na slegs een tomcat-instansie gestuur word.

U sal ook sien dat u sessie-ID aan die roete aangeheg is, soos in die voorbeeld hieronder getoon.

ex:

127.0.0.1 – – [18 / Sep / 2013: 10: 02: 02 +0800] "POST / voorbeelde / servlets / servlet / RequestParamVoorbeeld HTTP / 1.1" 200 662 "http: // localhost / voorbeelde / servlets / Servlet / RequestParamExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / Sep / 2013: 10: 02: 06 +0800] "GET / voorbeelde / servlets / servlet / RequestInfoVoorbeeld HTTP / 1.1" 200 693 "http: // localhost / voorbeelde / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / Sep / 2013: 10: 02: 17 +0800] "GET /examples/servlets/reqinfo.html HTTP / 1.1" 200 3607 "http: // localhost / voorbeelde / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / Sep / 2013: 10: 02: 20 +0800] "GET / voorbeelde / servlets / servlet / SessionExample HTTP / 1.1" 200 1124 "http: // localhost / voorbeelde / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / Sep / 2013: 10: 02: 26 +0800] "POST / voorbeelde / servlets / servlet / SessionExample HTTP / 1.1" 200 1142 "http: // localhost / voorbeelde / servlets / Servlet / SessionExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / Sep / 2013: 10: 02: 28 +0800] "GET / voorbeelde / servlets / servlet / SessionExample? Dataname = fda&datavalue = fadaf HTTP / 1.1" 200 1159 "http: // localhost / voorbeelde / servlets / Servlet / SessionExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B4EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / Sep / 2013: 10: 02: 32 +0800] "GET / voorbeelde / servlets / servlet / SessionExample? Dataname = foo&datavalue = balk HTTP / 1.1" 200 1174 "http: // localhost / voorbeelde / servlets / Servlet / SessionExample dataname = 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 / Sep / 2013: 10: 02: 36 +0800] "AOO / voorbeelde / servlets / servlet / RequestHeaderVoorbeeld HTTP / 1.1" 200 1423 "http: // localhost / voorbeelde / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"

Ek hoop dit help u om Tomcat Load Balancer met Apache Mod Proxy en Session Sticky op te stel.

As u belangstel om meer oor Tomcat-administrasie te wete te kom, moet u dit gaan aanlyn kursus.

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