分布式session共享几种解决办法

Session是服务器用来保存用户操作的一系列会话信息,由Web容器进行管理。单机的服务肯定是不会有session问题的,但是如果是个分布式的话就会出现一个问题,就是一台台机器的session如何与其他机器共享?
1.复制法:
这种是最容易想到的,就是每台出现session操作的时候都同步到其他服务中,缺点就是服务一多就特别消耗内存。
2、固定法:
其实就是在哪个服务的session就保存在哪个服务中,就是假如我死通过A地址进去,那么整个操作过程都在A,这样其实就类似于单机,这样容易出现的问题是当A挂了,服务被转到了B那么就取不到A中的session了。所以这种方式不建议采用
3、中间服务法
其实这个就类似于注册中心,既然放在单个的服务中我们无法保证session共享,那么我们把所有的session放到一个公共的地方不就行了么,然后取的时候去公共的地方取,我们就可以用redis等分布式缓存库中去,这种方式也是最建议采用的。

其实系统问题的一些解决方案生活中都是会用到的,原理都是一样的。

你可能感兴趣的:(随写)