分布式结构下,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端)

相关推荐
hzc09876543214 小时前
Spring Integration + MQTT
java·后端·spring
前路不黑暗@5 小时前
Java项目:Java脚手架项目的公共模块的实现(二)
java·开发语言·spring boot·学习·spring cloud·maven·idea
人道领域5 小时前
Spring核心注解全解析
java·开发语言·spring boot
金牌归来发现妻女流落街头6 小时前
日志级别是摆设吗?
java·spring boot·日志
MOONICK6 小时前
C#基础入门
java·开发语言
程序员小假7 小时前
我们来说一下虚拟内存的概念、作用及实现原理
java·后端
悠哉清闲7 小时前
Future
java·开发语言·kotlin
徐同保8 小时前
python如何手动抛出异常
java·前端·python
极客先躯8 小时前
高级java每日一道面试题-2025年7月02日-基础篇[LangChain4j]-什么是 AiServices?它是如何简化 LLM 应用开发的?
java·开发语言
摇滚侠9 小时前
JWT 是 token 的一种格式,我的理解对吗?
java·人工智能·intellij-idea·spring ai·springaialibaba