Como replicar dados da sessão mod_jk do Apache

Como replicar dados da sessão mod_jk do Apache

é possível replicar as informações da sessão fixa do mod_jk para outro apache para uma configuração de failover?

a ideia por trás da pergunta é configurar dois apaches com sessões fixas na frente de alguns tomcats. quando um apache falha, o outro deve assumir o controle das informações da sessão mod_jk para saber quais solicitações servir para qual tomcat.

eu sei que uma alternativa seria a replicação de sessão no nível do Tomcat e não usar sessões fixas, mas isso não é possível no momento.

Responder1

Se seus servidores backend (Tomcat) estiverem em cluster, eles também deverão replicar sessões. No caso de uma falha de http, as conexões com um nó http devem ir para outro nó. O parâmetro jsessionid deve fornecer ao http/mod_jk informações suficientes para saber para qual nó rotear (por exemplo, jsessionid=lkj234lkj2ljk234lj.jvmRoute1 dirá ao mod_jk que esta sessão é devida para o trabalhador com o nome jvmRoute1). Caso o trabalhador especificado esteja indisponível, mod_jk deverá rotear para o próximo trabalhador, que deverá recuperar a sessão do cache.

ou seja, a replicação não é necessária entre servidores httpd, pois o cookie do lado do cliente ou URL contendo jsessionid contém as informações de roteamento.

Responder2

Não deve haver necessidade de replicar nada entre os nós do Apache, porque a persistência da sessão do mod_jk está funcionando sem estado.

Você precisa definir jvmRoute no server.xml do Tomcat e ele deve corresponder ao nome dos seus trabalhadores jk, usados ​​pelo balanceador no mod_jk.

informação relacionada