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

2023-12-29 22:30:56

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

##引入redis,spring-session依赖

<!--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>

##修改配置文件

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

文章来源:https://blog.csdn.net/u014200244/article/details/135295628
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。