Google sugere que existe um módulo fora da árvore para o nginx que faz isso. Eu nunca usei isso, já que eu considero sessões complicadas o trabalho de satanás, mas será a primeira opção que eu usaria se tivesse que implementá-lo.
Atualmente, estamos usando o apache2 como frontend e o tomcat como backend. Estamos usando mod_proxy_balancer
e AJP. Também estamos usando stickysession pelo cookie JSESSIONID:
<Proxy balancer://backend>
BalancerMember ajp://127.0.0.1:8008 min=10 max=100 ping=5 connectiontimeout=40 ttl=60 retry=20 route=node-1
BalancerMember ajp://127.0.0.1:8009 min=10 max=100 ping=5 connectiontimeout=40 ttl=60 retry=20 route=node-2
ProxySet lbmethod=byrequests timeout=30
ProxySet stickysession=JSESSIONID|jsessionid nofailover=Off
</Proxy>
e usando o parâmetro jvmRoute em web.xml
para adicionar o final ao cookie JSESSIONID:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="node-1">
Estamos tentando mudar para o uso do nginx em nosso frontend. Até agora não encontrei nenhuma maneira de executar a mesma operação de afinidade de sessão com o nginx. Existe alguma solução para isso? Não estamos usando a replicação de sessão, portanto, obter solicitações sequenciais para o mesmo back-end é crucial.
Google sugere que existe um módulo fora da árvore para o nginx que faz isso. Eu nunca usei isso, já que eu considero sessões complicadas o trabalho de satanás, mas será a primeira opção que eu usaria se tivesse que implementá-lo.
Tags nginx tomcat apache-2.2