nginx php redis session共享,nginx+tomcat+redis解决sessiong共享的问题疑问

第一个问题是为什么会发生这种session不同步的问题

我知道的session的流程是这样的首先客户端会把自己本地cookies中带一个类似JSeesionId的字段给服务器要session对象

如果没有服务器就创建一个新的session并把Id给客户端的cookies,下次客户端再发起请求的时候就会要到这次创建的session

那么既然sessionId是存在客户端cookies里,每次都是客户端带给服务的,为什么在集群的环境中会发生session不一样的情况呢,我的理解是这样的

首先nginx帮我路由到不同的服务器,如果我第一次请求到A服务器,服务器发现我并没有带sessionId,那么帮我创建了一个session并回传给我一个sessionId。

我第二次请求到B服务器,带着上次A服务器给我的sessionId给B服务器,因为B服务器上并没有A给我的那个sessionId的session对象,B服务器又给我创建了一个新的session对象,然后给客户端cookies这样就产生了session不同步的情况,不知道我这样理解对不对?

解决方案的难点我现在不知道有没有人有开源项目已经解决了jfinal中session共享的方案,如果有麻烦能提供一下地址,谢谢。

如果自己想实现一个redis的session共享的方案应该怎么做,我现在难点在于,

1.我不知道两次请求是否同一个用户,这个如何判断

2.session的生命周期怎么处理,一般都是tomcat服务器帮我做处理的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值