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。