为了账号安全,请及时绑定邮箱和手机立即绑定

对应用服务器做了负载均衡之后如何保持session等记录用户登录状态的会话信息?

对应用服务器做了负载均衡之后如何保持session等记录用户登录状态的会话信息?

烙印99 2019-03-20 18:13:17
对应用服务器做了负载均衡之后如何保持session等记录用户登录状态的会话信息?用cookie?但是这样觉得不太安全。
查看完整描述

5 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

几个思路:

1 、负载算法采用 IP hash ,把每次相同 IP 的请求转发到同一台 Web 服务器上。
缺点是不能有效利用到所有的 Web 服务器来做均衡负载,一般负载算法都是 Round Robin 。

2 、重写 session handler , 把 session 用数据库来存储。
缺点是访问量高的情况下,IO 吞吐太高的话会影响网站性能。

3 、把 session 的默认存储路径设置为 NFS 上的一块存储区域,这样所有的 Web 服务器就可以共享了。
缺点是一旦 NFS 挂了,session 就再也没有办法使用了。

4 、最简单的,把 php.ini 里的 session save handler 设置为 memcache 或者 redis。
推荐用 memcache 。如果用 redis 的话,目前没有好用的 cluster 解决方案,而来 redis 还会把数据回写到硬盘上,完全没必要。而 memcache 只需要很少的配置就能做 cluster ,数据操作完全在内存里,速度杠杠滴。


查看完整回答
反对 回复 2019-04-15
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

负载均衡会话保持,同一用户请求发送到一台服务器。这个比较靠谱。


查看完整回答
反对 回复 2019-04-15
?
郎朗坤

TA贡献1921条经验 获得超9个赞

使用统一的 session服务 可以存储到 mc 或者 redis


查看完整回答
反对 回复 2019-04-15
  • 5 回答
  • 0 关注
  • 815 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信