前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tomcat7 Redis Session 共享

Tomcat7 Redis Session 共享

作者头像
lpe234
发布2020-07-27 17:14:48
6180
发布2020-07-27 17:14:48
举报
文章被收录于专栏:若是烟花若是烟花

关于负载均衡,导致需要实现Session共享。大概有两个解决办法:

  • Nginx里面是有 ip_hash。但是同一局域网发出的请求,通常会是相同的IP地址。
  • 实现不同实例之间Session共享

Tomcat Session 共享

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

配置
  1. Tomcat配置 context.xml
代码语言:javascript
复制
<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

另外两个包比较容易找到。下面自己构建(之前网上找到都会报错)

  1. 克隆仓库
代码语言:javascript
复制
git clone git@github.com:jcoleman/tomcat-redis-session-manager.git
  1. 修改配置文件
代码语言:javascript
复制
# 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. 构建
代码语言:javascript
复制
gradle build --stacktrace
  1. 得到jar包
代码语言:javascript
复制
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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Tomcat Session 共享
    • 配置
      • 构建 tomcat-redis-session-manager
      相关产品与服务
      云数据库 Redis
      腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档