分布式结构下,Session共享有什么方案

1,采用无状态服务,抛弃session

2,存入cookie

3,服务器之间进行Session同步,保证每个服务器上都有全部的Session信息,但当服务器数量笔记多的时候,同步是会有延时甚至同步失败

4,IP绑定策略,使用Nginx或其他负载均衡软硬件中的IP绑定策略,同一个IP只能在指定的同一个机器访问,但这样也就失去了负载均衡的意义,当挂掉一台服务器的时候,会影响一批用户的使用,风险很大

5,使用redis存储,把Session放到Redis中存储,虽然架构上变得复杂,而且需要多访问一次Redis,但是这种方案带来的好处也是很大的:

1,实现了Session共享;

2,可以水平扩展(增加Redis服务器)

3,服务器重启Session不丢失(不过也要注意Session在Redis中 刷新、失效机制)

4,不仅可以跨服务器Session共享,甚至可以跨平台(例如网页端和APP端)

相关推荐
Ivanqhz13 小时前
Rust Lazy浅析
java·javascript·rust
bksczm13 小时前
Linux之日志和线程池、内存池
java·开发语言
笨蛋不要掉眼泪13 小时前
Java虚拟机:对象复活、引用强度与Stop-The-World
java·开发语言·jvm
凤山老林14 小时前
SpringBoot实战:构建优雅的全局异常处理机制
java·springboot·异常处理
小Ti客栈14 小时前
Spring Boot 整合 Swagger2 和 Knife4j实现接口文档与可视化调试
java·spring boot·后端
梅头脑14 小时前
ThreadLocalMap里几十万个死Entry——排查了半天OOM,根因就一行finally没写
java
2601_9638701715 小时前
【计算机毕业设计】基于Spring Boot的社区老年大学课程报名与学习系统的设计与实现
java·spring boot·学习
llwszx15 小时前
【Java/Go后端手撸原生Agent(第七篇):Token预算管理 + 滑动窗口上下文裁剪】
java·后端·python·agent开发·上下文工程·上下文裁剪·滑动窗口裁剪
weixin_BYSJ198716 小时前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
梦幻通灵16 小时前
Java中finally失效的几种情况【持续更新】
java·开发语言