负载均衡session会话保持方法

Posted 互联网技术老兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了负载均衡session会话保持方法相关的知识,希望对你有一定的参考价值。

负载均衡时,为了保证同一用户session会被分配到同一台服务器上,可以使用以下方法:
1.使用cookie
将用户的session存入cookie里,当用户分配到不同的服务器时,先判断服务器是否存在该用户的session,如果没有就先把cookie里面的sessoin存入该服务器,实现session会话保持。缺点是存入cookie有安全隐患。

2.使用缓存
利用memcache,redis等缓存分布式的特点,可以将所有服务器产生的session存入同一台服务器的缓存中,实现session共享。这样安全性比较高,而且从内存中读取session比从文件中读取速度快。

实例:PHP分布式中Redis实现Session


3.使用ip_hash
如果是nginx服务器的负载均衡,可以在upstream里设置ip_hash,每个请求按访问ip的hash结果分配,映射到固定某一台的服务器。缺点是可能导致负载不均衡。

以上是关于负载均衡session会话保持方法的主要内容,如果未能解决你的问题,请参考以下文章

nginx负载均衡session共享

31例程启动后需要会话进行保持吗

负载均衡,会话保持,session同步(转)

网络:Session原理及存储

session会话基础理论

负载均衡集群中的session解决方案