博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
session 集群方案
阅读量:4117 次
发布时间:2019-05-25

本文共 817 字,大约阅读时间需要 2 分钟。

背景:假设某个网站是由多台服务器提供服务,nginx采用轮询机制做负载均衡,那么同一个IP访问该网站时,请求就可能会被分配到不同的服务器上,如果session没有实现共享,就会出现重复登陆授权的情况。

session 集群主要有两个方案:session 复制和session共享
session 复制:

是指session信息会在集群节点之间复制,每个节点服务器上都会有相同的session信息。

优点: 是即使一个节点服务器宕机了,只要还有服务器存活,就不影响用户使用。
缺点: 缺点是node之间通信频繁,响应速度有影响,多并发、高频操作的情况下性能下降比较厉害。

session共享

基于Memcache/Redis等数据库的session共享

tomcat集群

tomcat自带集群:属于session 复制,session信息会在各个tomcat中同步,对网络要求较高,session内存消耗影响会很大,对于小集群够用了,大集群还是建议使用redis或者memcache进行共享。

tomcat session共享(基于redis)

可以使用redission实现

ngin均衡策略和Session的关系

1.轮询(默认),指定权重,fair(第三方),url_hash(第三方)此时集群各个节点之间必须进行session共享

2.IP绑定 ip_hash,用户的请求都会绑定在同一个节点服务器上,不考虑节点服务器宕机的情况,可以不进行session共享。节点服务器宕机后,用户需要关掉浏览器从新打开登录,体验极差。

apache负载均衡策略和Session的关系

1.轮询策略:即根据http请求数(requests)来均衡的分配给所代理的服务器,此时集群各个节点之间必须进行session共享

2.权重分配策略:即根据请求数量,调整分配比例(即访问三次40,访问一次22),此时集群各个节点之间必须进行session共享

转载地址:http://cpypi.baihongyu.com/

你可能感兴趣的文章
《读书笔记》—–书单推荐
查看>>
【设计模式】—-(2)工厂方法模式(创建型)
查看>>
有return的情况下try catch finally的执行顺序(最有说服力的总结)
查看>>
String s1 = new String("abc"); String s2 = ("abc");
查看>>
JAVA数据类型
查看>>
Xshell 4 入门
查看>>
SoapUI-入门
查看>>
Oracle -常用命令
查看>>
JAVA技术简称
查看>>
ORACLE模糊查询优化浅谈
查看>>
2016——个人年度总结
查看>>
2017——新的开始,加油!
查看>>
【Python】学习笔记——-6.2、使用第三方模块
查看>>
【Python】学习笔记——-7.0、面向对象编程
查看>>
【Python】学习笔记——-7.2、访问限制
查看>>
【Python】学习笔记——-7.3、继承和多态
查看>>
【Python】学习笔记——-7.5、实例属性和类属性
查看>>
Linux设备模型(总线、设备、驱动程序和类)之四:class_register
查看>>
git中文安装教程
查看>>
虚拟机 CentOS7/RedHat7/OracleLinux7 配置静态IP地址 Ping 物理机和互联网
查看>>