Estou trabalhando em uma tarefa em que tenho que balancear as duas instâncias do tomcat, de modo que elas compartilhem uma sessão comum também entre si e, quando uma fica inativa, a outra pode lidar com a tarefa.
A primeira tarefa parece funcionar como quando as duas versões do Tomcat estão online, então parece não haver problema.
Eu não sei como detectar qual usuário é de qual tomcat, então posso ver se um usuário de outro tomcat está no bate-papo, então o id de sessão está compartilhado corretamente.
O segundo problema que estou enfrentando é que, se um tomcat for desativado, a outra instância do tomcat deverá continuar executando e atender às solicitações sendo feitas, mas isso não está acontecendo. Assim que qualquer instância do tomcat do Apache ficar inativa, recebo um serviço 503, não disponível. Por favor, deixe-me saber como posso corrigir este problema e testar qual usuário é de qual instância do tomcat.
Alterações feitas: sites-enabled / 000-default:
<Proxy balancer://mycluster>
BalancerMember ajp://localhost:8010 route=jvmroute-first connectiontimeout=10
BalancerMember ajp://localhost:8011 route=jvmroute-second connectiontimeout=10
ProxySet stickysession=JSESSIONID
Order Deny,Allow
Deny from none
Allow from all
</Proxy>
<VirtualHost *:80>
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>
Primeiro server.xml do tomcat:
<Connector port="8080" proxyPort="80" protocol="HTTP/1.1" compression="force" compressionMinSize="1024"
connectionTimeout="20000"
redirectPort="443" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"/>
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="200" compression="force"
compressionMinSize="1024" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="keystore" keystorePass="password" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
/>
<Connector port="8010" protocol="AJP/1.3" redirectPort="443" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
/>
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvmroute-first">
// No modifications within Engine
</Engine>
Segunda instância do tomcat:
<Connector port="8081" proxyPort="80" protocol="HTTP/1.1" compression="force" compressionMinSize="1024"
connectionTimeout="20000"
redirectPort="443" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"/>
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="200" compression="force"
compressionMinSize="1024" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="keystore.jks" keystorePass="password" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
/>
<Connector port="8011" protocol="AJP/1.3" redirectPort="443" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
/>
Por que isso está acontecendo? Alguma idéia, pistas. Muito obrigado. : -)
Editar
Parece haver algo errado com o balanceador de carga, pois recebo o Err depois de algum tempo, verifique a captura de tela