尝试使用 redis 设置具有非粘性会话的 tomcat 集群。
尝试使用: https ://github.com/redisson/redisson/wiki/14.-Integration%20with%20frameworks#145-spring-session
添加了 2 个 jar 文件。使用 Tomcat 7。
上下文.xml:
<Manager className="org.redisson.tomcat.RedissonSessionManager"
configPath="${catalina.base}/conf/redisson.yml"
readMode="REDIS"
redisson.yml:
---
sentinelServersConfig:
idleConnectionTimeout: 10000
pingTimeout: 1000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
reconnectionTimeout: 3000
failedAttempts: 3
password: null
subscriptionsPerConnection: 5
clientName: null
loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
slaveConnectionMinimumIdleSize: 10
slaveConnectionPoolSize: 64
masterConnectionMinimumIdleSize: 10
masterConnectionPoolSize: 64
readMode: "SLAVE"
subscriptionMode: "SLAVE"
sentinelAddresses:
- "redis://redis-sentinel:26379"
masterName: "redismaster"
database: 0
threads: 0
nettyThreads: 0
codec: !<org.redisson.codec.JsonJacksonCodec> {}
useLinuxNativeEpoll: false
Redis 起来了。它找到服务器。我没有看到任何错误。
现在当我去说经理测试。它将执行循环负载平衡。我登录到第一台服务器并获得了一个会话。我刷新,它似乎没有拉出正确的会话并且表现得好像我从未登录过。cookie 仍然设置。我刷新了几次以回到第一台服务器,但我仍然登录。
关于我所缺少的任何想法?