Causa del incidente: un proyecto principal "imágenes que describen cosas hermosas" y otra función secundaria es la función de entrada del propietario de la marca, que es un proyecto separado del proyecto principal. Para compartir la información del usuario que ha iniciado sesión, se comparte la sesión. logrado, dos tomcats, un tomcat6, un tomcat7
Realizar el intercambio de sesiones en el sistema de Windows del proyecto web
Primer paso:
Configure el siguiente código en los archivos context.xml de los dos tomcats:
<Administrador className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:127.0.0.1:11211"lockingMode="auto"sticky="true"requestUriIgnorePattern=".*/.(ico|png|gif|jpg| css|j s)$"sessionBackupAsync="false"sessionBackupTimeout="100"transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"copyCollectionsForSerialization="true"/>
Paso dos:
Paquete jar agregado en Tomcat6:
Paquete jar agregado en tomcat7:
PD: use Memcache para guardar la sesión de Tomcat
El objetivo principal de escribir este artículo es corregir algunos errores en Internet.
Requisitos previos:
1. memcached funciona normalmente
2. Tomcat funciona normalmente.
1. Método de instalación y paquete de instalación.
javolution-5.4.3.1.jar
memcached-2.4.2.jar
memcached-session-manager-1.3.0.jar
msm-javolution-serializador-cglib-1.3.0.jar
msm-javolution-serializador-jodatime-1.3.0.jar
Método de instalación: coloque estos paquetes en /usr/local/tomcat6.0/lib.
2. Edite el archivo de configuración de Tomcat.
<Esto es importante porque la mayoría de los artículos en Internet hablan sobre modificar la configuración en el servidor. En la actualidad, se ha descubierto que editar el archivo context.xml puede iniciar inmediatamente la sesión en Memcache. >
# vim /usr/local/tomcat6.0/conf/context.xml <Contexto> <!-- Agregue el siguiente contenido en este campo Complete la IP y el número de puerto de su servidor Memcached al ingresar al nodo --> <Administrador. className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:10.254.41.197:11211" requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$" sessionBackupAsync="false" sessionBackupTimeout="100" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" copyCollectionsForSerialization="false" /> </Context>
3. ¿Cómo realizar la prueba?
Mi método de prueba actual es implementar el equilibrio de carga a través de mod_jk de Apache (escrito en un artículo anterior) y habilitar la replicación de sesiones entre tomcats.
El resultado es que el ID de la sesión cambiará el nodo con cada envío del usuario, pero el ID no cambiará.
Por ejemplo:
ID CFC1ACAC6B0B8C27BEA76919F3A99BF8-n1.tomcat2
El siguiente envío será: <El nodo se cambia, pero el ID permanece sin cambios>
ID CFC1ACAC6B0B8C27BEA76919F3A99BF8-n1.tomcat1
Combinado con el estado de Memcache: <Cuando no pude iniciar con éxito la sesión en Memcached, cmd_set era 0>
# perl memcached-tool.pl 10.254.41.197:11211 estadísticas
cmd_get 27
cmd_set 15
obtener_golpes 12
# perl memcached-tool.pl 10.254.41.197:11211 estadísticas
cmd_get 31
cmd_set 17
obtener_golpes 14
Creo que, según el juicio anterior, ¡la configuración fue exitosa!