1、session集群的解决方案
redis
1.一、扩展指定serverspring
利用Servlet容器提供的插件功能,自定义HttpSession的建立和管理策略,并经过配置的方式替换掉默认的策略。缺点:耦合Tomcat/Jetty等Servlet容器,不能随意更换容器。session
1.二、利用Filterapp
利用HttpServletRequestWrapper,实现本身的 getSession()方法,接管建立和管理Session数据的工做。spring-session就是经过这样的思路实现的。ide
Spring Boot中spring session支持方式:spring-boot
JDBC、MongoDB、Redis、Hazelcast、HashMap测试
2、实现spa
2.一、添加依赖插件
<!-- spring session --> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> </dependency> <!--spring session 与redis应用基本环境配置,须要开启redis后才能够使用,否则启动Spring boot会报错 --> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency> <!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency>
2.二、配置application.propertiesserver
########################spring session开始################ # spring session使用存储类型 spring.session.store-type=redis # spring session刷新模式:默认on-save #spring.session.redis.flush-mode=on-save #spring.session.redis.namespace= # session超时时间,单位秒 #server.session.timeout=30 #########################spring session结束################ #########################redis开始######################### spring.redis.host=192.168.175.13 spring.redis.port=6379 spring.redis.password=123456 #spring.redis.database=0 #spring.redis.pool.max-active=8 #spring.redis.pool.max-idle=8 #spring.redis.pool.max-wait=-1 #spring.redis.pool.min-idle=0 #spring.redis.timeout=0 #########################redis结束#########################
2.三、测试
新建两个应用,都按上面的配置,一个开8989端口,一个开8988端口,效果以下: