本文主要是介绍SpringBoot分步式系统实现Session共享 redis spring session 集群和分步式系统共享session条件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分步式系统共享session
分步式大行其道 共享session也成了大众化的需求 使用基于redis和spring-session也可以迅速实现对应的需求 但是如果两个毫无关联的系统之间 想要实现session共享 需要满足哪些条件
两个无任何联系的项目想要实现session共享需要满足的条件
1、两个springboot项目包名相同
不同包名 同一个session 在redis里面也会创建两条session记录 无法实现共享session
session生成规则
org.springframework.session.web.http.DefaultCookieSerializer#readCookieValues
2、连接同一个redis
将session数据集中管理 实现session共享的前提
3、存放redis中的实体类必须是同一个路径(SessionUser类完整路径必须相同)
根据包名来隔离不同项目的httpSession
4、两个服务部署在Nginx同域下
同域下浏览器访问默认使用同一个会话
实现共享session
满足上面4个条件即可实现不同系统间session共享,数据保密,就不提供实践截图了
2021年3月12日补充
使用base64编码 只需要保证两个项目同域并且连接同一个redis即可 条件1作废
这篇关于SpringBoot分步式系统实现Session共享 redis spring session 集群和分步式系统共享session条件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!