"spring-session 和 redis 解决 spring cloud 中 session 不一致性问题 使用 spring cloud 来搭建分布式。在搭建的时候会涉及到一个关键的问题,session 统一的问题。使用 zuul 作为网关转发来调用其他模块,zuul 中的 session 和其他模块的 sess .."

#### spring-session 和 redis 解决 spring cloud 中 session 不一致性问题

spring-session 和 redis 解决 spring cloud 中 session 不一致性问题

使用 spring cloud 来搭建分布式。在搭建的时候会涉及到一个关键的问题,session 统一的问题。使用 zuul 作为网关转发来调用其他模块,zuul 中的 session 和其他模块的 session 会不一致,没法保存用户的信息,session 会存在问题。解决的办法采用的是 spring-session 和 redis。

1,引入 spring-session 和 redis 的包,zuul 网关和其他模块都需要引入

org.springframework.sessiongroupId> spring-session-data-redisartifactId> dependency> ​ org.springframework.bootgroupId> spring-boot-starter-data-redisartifactId> dependency>

2,开启 spring-session 和 redis 在 spring boot 的主类上开启 redis 管理 session 的注解,网关和其他模块都需要开启:

@EnableRedisHttpSession

3, 在 application.yml 配置 redis 网关和其他都需要配置

spring:
redis:
database: 0
host: 127.0.0.1
port: 6379
password: 12345 #redis 的密码

4,这样就差不多了,如有运行报没有序列化,请将实体类导入实现 Serializable

5, 如果报找不到某个实体类 ,请在 zuul 中吧某个服务的实体类导入进来

重要的是: zuul 导入的实体类路径必须和 某个模块的实体类路径一样

列 : users 服务中我的实体类路径是 com.dx.userserver.pojo.User

那么· zuul 服务里 也要新建包名,是导入的实体类的路径是一样的

回帖   
请输入回帖内容...