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

相关推荐
幻灭行度1 天前
docker镜像导入到K8S的containerd中
java·docker·kubernetes
武昌库里写JAVA1 天前
Java如何快速入门?Java基础_Java入门
java·vue.js·spring boot·后端·sql
那我掉的头发算什么1 天前
【javaEE】多线程进阶--CAS与原子类
android·java·jvm·java-ee·intellij-idea
SteveCode1 天前
血赚不亏!Java 17 9 个炸裂特性,程序员看完直呼:太香了!
java
BLOB_1010011 天前
关于懒人复制idea项目的坑
java·ide·intellij-idea
Moe4881 天前
Spring Boot 自动配置核心:AutoConfigurationImportSelector 深度解析
java·后端·设计模式
6***x5451 天前
Java设计模式之策略模式
java·设计模式·策略模式
章鱼哥7301 天前
Java 策略模式 + 聚合对象:实现多模块的统计与聚合,快速扩展的实战
java·开发语言·策略模式
s***4531 天前
【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
windows·分布式·rabbitmq
h***59331 天前
SpringBoot中如何手动开启事务
java·spring boot·spring