Tomcat7 Redis Session 共享

關於負載均衡,致使須要實現Session共享。大概有兩個解決辦法:java

  • Nginx裏面是有 ip_hash。可是同一局域網發出的請求,一般會是相同的IP地址。
  • 實現不一樣實例之間Session共享

Tomcat Session 共享

https://github.com/jcoleman/tomcat-redis-session-managergit

配置

  1. Tomcat配置 context.xml
<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 --> />
  1. 將如下jar包,放到 Tomcat 下面的 lib文件夾
  • tomcat-redis-session-manager-VERSION.jar
  • jedis-2.5.2.jar
  • commons-pool2-2.2.jar

構建 tomcat-redis-session-manager

另外兩個包比較容易找到。下面本身構建(以前網上找到都會報錯)github

  1. 克隆倉庫
git clone git@github.com:jcoleman/tomcat-redis-session-manager.git
  1. 修改配置文件
# 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       //}
  1. 構建
gradle build --stacktrace
  1. 獲得jar包
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
相關文章
相關標籤/搜索