redis实现session共享
实现背景:
使用政务云的负载均衡,机制为加权轮询,开启会话保持。
由于服务主机上是通过nginx映射端口,所以健康检查基于url来实现。
框架为springboot,但是以war包形式部署到tomcat中。
(调研中发现,原理来源于spring,所以其他spring框架结构按理说也可以支持,但未经过测试)
这里利用redis实现session共享无需代码改造,只需要几个依赖和配置项就可以实现。
第一步:导入以下jar包
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
第二步:配置文件配置redis链接信息
#服务地址
spring.redis.host=192.168.1.888
#端口
spring.redis.port=6379
#密码,默认为空,本地没有设置密码,所以这里不填写
spring.redis.password=
#连接超时时间(单位为毫秒)
spring.redis.timeout=10000
第三部:所有存入session的类需要序列化
implements Serializable {
private static final long serialVersionUID=1L;