spring Boot 实现 集群架构session共享

1,spring sesssion 集成,导入依赖

  <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-redisartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.sessiongroupId>
            <artifactId>spring-session-data-redisartifactId>
        dependency>

|springBoot 2.1.4.RELEASE版本以及以下版本,2.1.5版本存在bug

2,开启spring session

@SpringBootApplication
//开启sprin session
@EnableRedisHttpSession
@RestController
public class RedisDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(RedisDemoApplication.class, args);
    }

    @RequestMapping("/test01")
    public String test01(HttpServletRequest request) {
        return request.getSession().getId() + " 这是tomcat1 :8081";
    }



}

3,spring session使用场景

将应用部署成集群方式时(域名只有一个的情况)通过nginx负载均衡将不同请求发送到不同的服务器上,将会产生不同服务器不能共享同一个session的问题,sring session将session存到redis中,然后,不同服务器从redis中获取session。

4,自定义cookie属性

spring Boot 实现 集群架构session共享_第1张图片

在2.0版本已经支持这个特性

你可能感兴趣的:(java)