1.场景描述
因项目访问压力有点大,需要做负载均衡,但是登录使用的是公司统一提供的单点登录系统,需要做session共享,否则假如在A机器登录成功,在B机器上操作就会存在用户未登录情况。
2. 解决方案
因项目是springboot项目,采用Springboot+Springsession+Redis来实现session共享。
2.1 pom.xml文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2.2 springboot中开启session支持
springboot启动类添加@EnableRedisHttpSession标签来开启spring session支持,代码:
@EnableRedisHttpSession
@SpringBootApplication
public class SptestApplication {
public static void main(String[] args) {
SpringApplication.run(SptestApplication.class, args);
}
}
2.3 配置文件中增加配置项
在application.properties中增加配置项
spring.redis.host=10.192.168.13
spring.redis.port=6379
其他还有几个配置项,不影响使用,不详说了,需要了解的可以查看API。