¿Es posible replicar la información de la sesión fija mod_jk en otro Apache para una configuración de conmutación por error?
La idea detrás de la pregunta es configurar dos apaches con sesiones fijas frente a algunos gatos. cuando uno de los apaches falla, el otro debe hacerse cargo de la información de la sesión mod_jk para saber qué solicitudes atender a qué tomcat.
Sé que una alternativa sería la replicación de sesiones a nivel de Tomcat y no utilizar sesiones fijas, pero esto no es posible en este momento.
Respuesta1
Si sus servidores backend (tomcat) están agrupados, también deberían replicar sesiones. En caso de una falla de http, las conexiones a 1 nodo http deben ir a otro nodo. El parámetro jsessionid debería darle a http/mod_jk suficiente información para saber a qué nodo enrutar (por ejemplo, jsessionid=lkj234lkj2ljk234lj.jvmRoute1 le dirá a mod_jk que esta sesión es para el trabajador con nombre jvmRoute1). En caso de que el trabajador especificado no esté disponible, mod_jk debería enrutarse al siguiente trabajador, que debería recuperar la sesión del caché.
es decir, no es necesaria la replicación entre servidores httpd, ya que la cookie del lado del cliente o la URL que contiene jsessionid contiene la información de enrutamiento.
Respuesta2
No debería haber necesidad de replicar nada entre los nodos de Apache, porque la persistencia de sesión de mod_jk funciona sin estado.
Debe configurar jvmRoute en server.xml de Tomcat y debe coincidir con el nombre de sus trabajadores jk, utilizados por el equilibrador en mod_jk.