dicembre 17, 2017

Tomcat load balancing con Apache Web Server e mod_jk

In questo articolo propongo un quick tutorial di 3 passi per configurare un Server Web Apache come bilanciatore di carico http su una coppia di Server Tomcat. La soluzione adottata si basa sull’utilizzo del connettore mod_jk di Apache Software Foundation. Per garantire la persistenza sulla stessa SessionID, il load balancer viene configurato in modalità sticky_session=TRUE. Questa impostazione è molto utile nel caso di applicazioni web che necessitano di sessioni autenticate. Di seguito una visione ad alto livello dell’architettura.

 apache-load-balancer-mod-jk-00

Stack applicativo

– Operative System: CentOS 6.x 64bit
– Apache Web Server: 2.2.15
– Tomcat Server: 6
– Mod JK connector: 1.2.37
– JDK: 1.6

 STEP 1. Configurazione Tomcat Server01 – IP 10.10.1.100

Pagina jsp di test per verificare il balancer.

 

STEP 2. Configurazione Tomcat Server-02 – IP 10.10.1.200

Le configurazioni sono le stesse fatte per l’istanza Tomcat 01. Fare attenzione alla definizione della proprietà jvmRoute.

Pagina jsp di test per verificare il balancer.

 

STEP 3. Configurazione Apache Web Server e mod_jk – IP 10.10.1.50

Configurazione record dns nel file /etc/host. Questa impostazione va fatta sulle 3 macchine lato server. Per effettuare invece il test del balancer via browser, è sufficiente aggiungere solo la prima entry sulla macchina client.

Per il test del balancer aprire un browser e puntare alla url http://mysite.com/test-balancer/index.jsp. Il server dovrebbe risponde con una pagina che stampa la Session ID aperta, un timestamp e l’hostname del server su cui è atterrata la richiesta.

apache-load-balancer-mod-jk-01

Il balancer Apache bilancia le request in modalità random. Svuotare la cache del browser e aggiornare la pagina. Eseguendo più volte queste operazioni, la richiesta dovrebbe atterrare sul server dove è in esecuzione la seconda istanza del Tomcat visualizzando una pagina come questa.

apache-load-balancer-mod-jk-02

 

Related posts

2 Comments

    1. Giuseppe Urso

      Grazie Davide,

      cerco di mettere online procedure che uso quotidianamente in ambito lavorativo. Di solito butto giù solo qualche appunto su semplici file di testo…
      😉

Leave a Reply

Your email address will not be published.