nginx负载均衡会话保持
什么是会话保持?
会话保持就是固定用户的请求节点。 因为负载均衡的调度机制是轮询调度,所以会导致请求分散在不同节点,如果用户通过A请求,那么下次可能是B,这样会导致用户失去上一次请求的记录,重新建立请求。 这种称之为会话中断,那么要解决问题,就需要会话保持。
实现会话保持有哪些方法?
推荐
- cookie植入来解决 会话中断的问题,就给来访的用户标记一个cookie字符串,鉴定身份,后续请求根据cookie来判断 往哪个节点分配;Haproxy中有这种算法
- 会话共享,缓存会话到内存数据库。使用redis,memcached实现。
不推荐
- 粘性会话=ip_hash 会造成某一节点压力过大,负载不均衡,不推荐。
- 会话复制,每次会话发生变化就像会话同步到其他服务器,保证会话不中断。不推荐
- 会话持久化,就是会话存储在数据库中,存在数据库占用大量资源,还要定时清理。不推荐
nginx+php实现redis 会话保持
-
在客户端下载phpmyadmin(php实现redis的工具) phpmyadmin方网站
-
解压到指定目录后建议为phpmyadmin创建软连接,这样版本更替可以直接替换。
-
修改文件名并修改连接本机redis的host地址。
cp cp /code/phpmyadmin/config.sampl