关于负载均衡,致使须要实现Session共享。大概有两个解决办法:java
https://github.com/jcoleman/tomcat-redis-session-managergit
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" <!-- optional: defaults to "localhost" --> port="6379" <!-- optional: defaults to "6379" --> database="0" <!-- optional: defaults to "0" --> maxInactiveInterval="60" <!-- optional: defaults to "60" (in seconds) --> sessionPersistPolicies="PERSIST_POLICY_1,PERSIST_POLICY_2,.." <!-- optional --> sentinelMaster="SentinelMasterName" <!-- optional --> sentinels="sentinel-host-1:port,sentinel-host-2:port,.." <!-- optional --> />
另外两个包比较容易找到。下面本身构建(以前网上找到都会报错)github
git clone git@github.com:jcoleman/tomcat-redis-session-manager.git
# vim ~/tomcat-redis-session-manager/build.gradle # 增长 49, 注释57-59 47 signing { 48 sign configurations.archives 49 required = false 50 } 51 52 uploadArchives { 53 repositories { 54 mavenDeployer { 55 beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } 56 57 //repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { 58 // authentication(userName: sonatypeUsername, password: sonatypePassword) 59 //} 60 //repository(url: "https://oss.sonatype.org/content/repositories/snapshots") { 61 // authentication(userName: sonatypeUsername, password: sonatypePassword) 62 //}
gradle build --stacktrace
build ├── libs │ ├── tomcat-redis-session-manager-2.0.0-javadoc.jar │ ├── tomcat-redis-session-manager-2.0.0-sources.jar │ └── tomcat-redis-session-manager-2.0.0.jar