传统项目基于tomcat cookie单体会话升级分布式会话解决方案

传统捞项目基于servlet容器 cookie单体会话改造分布式会话方案

##引入redis,spring-session依赖

java 复制代码
<!--redis依赖 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.session</groupId>
      <artifactId>spring-session-data-redis</artifactId>
    </dependency>

##修改配置文件

java 复制代码
spring:
  application:
    name: hnmop-consumer
  session:
    timeout: 3600
    store-type: redis
    redis:
      namespace: yym:session
  redis:
    lettuce:
      pool:
        max-idle: 50
        min-idle: 10
        max-wait: 300
        max-active: 25
    timeout: 30000
    cluster:
      nodes:
        - 192.168.3.156:6379
        - 192.168.3.156:6380
        - 192.168.3.156:6381
        - 192.168.3.156:6382
        - 192.168.3.156:6383
        - 192.168.3.156:6384
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
    password: 123456
    database: 0

##启动类加入EnableRedisHttpSession注解

复制代码
@EnableRedisHttpSession(redisNamespace = "yym:session", maxInactiveIntervalInSeconds = 3600)

##原理

##spring自动配置spring.factories

##生成SessionRepositoryFilter过滤器对象

##使用包装的SessionRepositoryRequestWrapper的request SessionRepositoryResponseWrapper的response

相关推荐
Dola_Pan31 分钟前
Linux文件IO(二)-文件操作使用详解
java·linux·服务器
wang_book33 分钟前
Gitlab学习(007 gitlab项目操作)
java·运维·git·学习·spring·gitlab
蜗牛^^O^1 小时前
Docker和K8S
java·docker·kubernetes
spiker_1 小时前
RabbitMQ 常见使用模式详解
分布式·rabbitmq
不能再留遗憾了2 小时前
RabbitMQ 高级特性——持久化
分布式·rabbitmq·ruby
成为大佬先秃头2 小时前
解决RabbitMQ设置TTL过期后不进入死信队列
分布式·中间件·rabbitmq·java-rabbitmq
从心归零2 小时前
sshj使用代理连接服务器
java·服务器·sshj
IT毕设梦工厂3 小时前
计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战
java·spring boot·python·django·毕业设计·源码·课程设计
Ylucius4 小时前
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
java·c语言·javascript·c++·python·学习
七夜zippoe4 小时前
分布式系统实战经验
java·分布式