Tabla de Contenidos

Tomcat Cluster

Aplicaciones

Para hacer que las aplicaciones funcionen con el cluster podemos hacerlo de dos formas:

  1. En el descriptor de despligue de la aplicación (application's deployment descriptor) (WEB-INF/web.xml)incluir el elemento <distributable />
  2. La otra opción es simplemente añadir el atributo “distributable” en el contexto principal de la aplicación <Context distributable=“true”>

Además de lo anterior hay que tener en cuenta en la aplicación lo siguiente :

Para desplegar la aplicación que queramos configurar en alta disponibilidad, antes de desplegarla en cada uno de los tomcats, deberemos añadir la propiedad <distributable /> en el web.xml de la aplicación.

Ejemplo
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      version="3.0">
    <distributable />

FarmWarDeployer

Permite que poniendo un war dentro de la carpeta definida como watchDir, el war en cuestión se despliegue en todos los servidores del cluster.

Esto sólo debe de hacerse en el servidor que consideremos como master de la configuración para tener un unico punto de publicación. En el resto de los nodos del cluster ponemos el parametro watchEnabled=false

Ejemplo

Añadir las siguientes líneas al server.xml en la parte de configuración del cluster

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                 tempDir="/opt/tomcat/temp/"
                     deployDir="/opt/tomcat/webapps/"
                     watchDir="/opt/tomcat/despliegue/"
                     watchEnabled="enable"/>
deployDir y watchDir deben de ser directorios distintos

Referencias