zoukankan      html  css  js  c++  java
  • Nginx做负载均衡时session共享问题详解

    用nginx做负载均衡时,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态。

    再者Nginx连接Memcached集群时,Nignx的请求从memcached服务器中根据key获得了value则直接返回value,如果没有获得到value则去MySQL中查询再返回。

    location  /  {
        set $memcached_key  "$request_uri";  #设置请求memcached服务器的key
        memcached_pass  127.0.0.1:11211;
        error_page  404  502  504  /callback.do;  #设置回调函数查询数据库
    }

    多台memcached服务器,如何保持NginxJavamemcached同步?

    session是存放在服务器上的,session共享问题怎么解决?

    解决方案

    1、参阅:http://blog.csdn.net/xluren/article/details/16951247

    2、使用第三方模块ngx_http_consistent_hash通过一致性哈希算法来选择合适的后端节点。

    Nginx的ngx_http_consistent_hash模块的官网使用文档:https://www.nginx.com/resources/wiki/modules/consistent_hash/

      

      下载地址 https://github.com/replay/ngx_http_consistent_hash

      下载:

      解压缩:

      编译安装到Nginx:

        

        

        

           关掉Nginx

        

      Nginx.conf配置:   

    worker_processes  1;  
      
    events {  
        worker_connections  1024;  
    }  
       
    http {  
        upstream servers {  
            consistent_hash $request_uri;  
            server 192.168.1.86:80;  
            server 192.168.1.88:80;  
        }  
      
        server {  
            listen 80;  
            server_name localhost;  
            location / {  
                 proxy_pass http://servers;  
           }  
        }  
    }
  • 相关阅读:
    爬虫07-requests库cookie和session
    爬虫06-处理不信任的SSL证书
    爬虫05-requests库用法
    爬虫04-cookie
    网络爬虫-爬取拉勾网不成功,登录设置cookie
    爬虫03-简单使用代理
    爬虫02-简单伪装浏览器
    爬虫01-urllib常用函数
    01-matplotlib简单绘图
    21-pandas_apply和transform
  • 原文地址:https://www.cnblogs.com/BINGJJFLY/p/7460774.html
Copyright © 2011-2022 走看看