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

相关推荐
星晨雪海几秒前
springboot 增删改查全套流程
java·spring boot·spring
Devin~Y几秒前
高并发内容社区实战面试:从 Java 基础到 Spring Cloud、Kafka、Redis、RAG 搜索全解析
java·spring boot·redis·spring cloud·kafka·向量数据库·rag
C雨后彩虹3 分钟前
箱子之字形摆放
java·数据结构·算法·华为·面试
star-yp10 分钟前
vibe coding 博客管理系统
java·spring boot·spring·ai·ai编程
电磁脑机11 分钟前
和大脑正确交互的脑机接口研究推演理论
分布式·神经网络·架构·交互·信号处理
小江的记录本12 分钟前
【JEECG Boot】JEECG Boot 系统性知识体系全方位结构化总结
java·前端·spring boot·后端·python·spring·spring cloud
Mr.wangh13 分钟前
Spring原理(Bean的生命周期)
java·前端·spring
派大星酷16 分钟前
Java 多线程创建方式
java·开发语言·多线程
Albert Edison1 小时前
【RabbitMQ】核心概念|工作流程|界面操作
分布式·rabbitmq·ruby
棉花骑士9 小时前
【AI Agent】面向 Java 工程师的Claude Code Harness 学习指南
java·开发语言