Apache: Balanceo de Tomcats con mod_proxy_ajp

Desde Apache 2.2 disponemos de un módulo nativo (mod_proxy_ajp) para implementar proxies inversos con AJP, desarrollado por el propio Apache. Esto hasta ahora lo habíamos venido realizando con mod_jk, que se distribuía con el propio Tomcat. Os dejo un ejemplo que usé para balancear una aplicacion hacia tres tomcats.

<VirtualHost *:80>
ServerName archivo.prueba.es
ServerAlias archivo


CustomLog /var/log/httpd/archivo.log combined

# Preservar las cabeceras anteriores, y
# evitar que el proxy las modifique
ProxyPreserveHost On

# Montar URLs hacia el cluster
ProxyPass /archivo balancer://archidoc_cluster/archivo tickysession=JSESSIONID nofailover=On

# Definir el proxy hacia los Tomcats
<Proxy balancer://archidoc_cluster>
BalancerMember ajp://tomcat1:8509
BalancerMember ajp://tomcat2:8509
BalancerMember ajp://tomcat3:8509
</Proxy>


# Redireccion para que vaya directamente al Tomcat
RewriteEngine on
RewriteRule ^$ /archivo/ [R,L]
RewriteRule ^/$ /archivo/ [R,L]

AddDefaultCharset ISO-8859-1
</VirtualHost>

La verdad que tampoco está muy claro cuando es recomendable usar uno u otro: Yo sólo lo he usado cuando he tenido problemas con alguna aplicación y mod_jk, que siempre es mi primera elección, simplemente por madurez del proyecto.

La foto la he sacado del album de Darny en flickr

1 comentario:

insanecrew dijo...

Coincido contigo y me "autocito" en una traducción de este verano.