<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java技術(shù)研究

    統(tǒng)計

    留言簿(3)

    閱讀排行榜

    評論排行榜

    使用nginx sticky實現(xiàn)基于cookie的負載均衡(轉(zhuǎn))

    轉(zhuǎn)自http://www.ttlsa.com/nginx/nginx-modules-nginx-sticky-module/

    在多臺后臺服務器的環(huán)境下,我們?yōu)榱舜_保一個客戶只和一臺服務器通信,我們勢必使用長連接。使用什么方式來實現(xiàn)這種連接呢,常見的有使用nginx自帶的ip_hash來做,我想這絕對不是一個好的辦法,如果前端是CDN,或者說一個局域網(wǎng)的客戶同時訪問服務器,導致出現(xiàn)服務器分配不均衡,以及不能保證每次訪問都粘滯在同一臺服務器。如果基于cookie會是一種什么情形,想想看, 每臺電腦都會有不同的cookie,在保持長連接的同時還保證了服務器的壓力均衡,nginx sticky值得推薦。

    如果瀏覽器不支持cookie,那么sticky不生效,畢竟整個模塊是給予cookie實現(xiàn)的.

    1、nginx sticky 模塊工作流程圖

    ip_hash

    nginx sticky

    2、下載安裝nginx sticky
    下載地址:http://code.google.com/p/nginx-sticky-module/downloads/list
    目前共有2個版本,一個是1.0,一個是1.1,1.0已經(jīng)壽終正寢了.1.1增加了權(quán)重的參數(shù).

    安裝nginx + sticky模塊

    # tar -xzvf nginx-sticky-module-1.1.tar.gz
     
    # tar -czvf nginx-1.0.6
    # cd nginx-1.0.6
    # ./configure --prefix=/usr/local/nginx-1.0.6 --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=../nginx-sticky-module-1.1
    # make
    # make install

    3、配置nginx sticky

    nginx 的upstream使用sticky,如下

    upstream cluster_test {
         sticky;
         server 192.168.100.209:80;
         server 192.168.100.225:80;
    }

    配置虛擬主機(以下有配置的可以忽略掉)

    server {
            listen        80;
            server_name     test.ttlsa.com;
            index index.jsp;
     
            access_log /data/logs/nginx/test.ttlsa.com_access.log main;
     
            set $proxy_pass cluster_test;
     
            location /
            {
                    proxy_pass http://$proxy_pass;
                    include proxy.conf;
                    add_header Cache-Control no-store;
            }
     
    }

    備注:
    nginx和apache不同,nginx每次安裝一個新的模塊都需要重新編譯一次,編譯完成之后將nginx這一個文件拷貝到sbin下面即可.我這邊全新安裝一次,因為公司在兩年前就選擇了這個nginx版本,也沒打算去換,所以大家可以把nginx換成自己最合適的一個版本,不用完全跟著文章來安裝.

    4、重啟nginx

    /usr/local/nginx-1.0.6/sbin/nginx -t
    /usr/local/nginx-1.0.6/sbin/nginx -s reload

    5、測試nginx sticky

    我后端是兩臺tomcat服務器,每臺服務器的JESSIONED值都有特殊的標志。比如209這臺是s209,225這臺是s225.打開頁面,不管怎么刷新JESSIONED值都是不變.但是如果開啟了sticky,可以看到JESSIONED值不會發(fā)生變化.死死的粘滯在其中一臺服務器上.測試圖如下:

    使用sticky的情況下,不管怎么刷新都是下面圖

    ip_hash

    nginx sticky 模塊

    不使用nginx sticky模塊,多刷幾次就變了(有時候刷一次,有時候多刷幾次,看概率,不過肯定會變),如下圖

    ip_hash

    nginx sticky 模塊

    備注:每臺后端真實服務器都會有一個唯一的route值,所以不管你真實服務器前端有幾個裝了sticky的nginx代理,他都是不會變化的. 這個cookie是會話方式的,所以你瀏覽器關閉了,服務器會給你重新分配一臺服務器。

    6、nginx sticky其他語法

    sticky [name=route] [domain=.foo.bar] [path=/] [expires=1h] [hash=index|md5|sha1] [no_fallback];
    name: 可以為任何的string字符,默認是route
    domain:哪些域名下可以使用這個cookie
    path:哪些路徑對啟用sticky,例如path/test,那么只有test這個目錄才會使用sticky做負載均衡
    expires:cookie過期時間,默認瀏覽器關閉就過期,也就是會話方式。
    no_fallbackup:如果設置了這個,cookie對應的服務器宕機了,那么將會返回502(bad gateway 或者 proxy error),建議不啟用

    7、nginx sticky expires用法

    upstream cluster_test {
         sticky expires=1h;
         server 192.168.100.209:80;
         server 192.168.100.225:80;
    }

    啟用了過期,cookie如下截圖,cookie1個小時才過期

    ip_hash

    nginx sticky expire用法

    如下是不啟用過期
    ip_hash

    nginx sticky 不啟用expire

    8、nginx sticky使用注意事項
    nginx sticky模塊不能與ip_hash同時使用

    轉(zhuǎn)摘請注明出處:http://www.ttlsa.com/html/1895.html
    官方文檔:http://code.google.com/p/nginx-sticky-module/wiki/Documentation

    posted on 2014-03-27 16:31 小秦 閱讀(276) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 日韩视频在线精品视频免费观看| 精品一区二区三区免费观看 | 免费国产成人午夜电影| 亚洲日本一线产区和二线| 无码永久免费AV网站| 亚洲日韩国产AV无码无码精品| 男女啪啪永久免费观看网站| 亚洲av日韩综合一区久热| 永久免费观看的毛片的网站| 看亚洲a级一级毛片| 亚洲精品456播放| 中文字幕视频免费在线观看| 亚洲国产精品婷婷久久| 中文免费观看视频网站| 亚洲一卡2卡3卡4卡5卡6卡| 破了亲妺妺的处免费视频国产| 无码天堂va亚洲va在线va| 国产成人精品曰本亚洲79ren| 免费人成在线观看视频高潮| 亚洲精品不卡视频| 狼友av永久网站免费观看| 免费激情网站国产高清第一页 | 视频免费1区二区三区| 亚洲精品无码久久久久sm| 免费91麻豆精品国产自产在线观看 | 亚洲av无码专区在线电影| 亚洲日韩人妻第一页| 久久免费公开视频| 精品亚洲国产成人| 免费大黄网站在线观| 无码人妻一区二区三区免费看| 亚洲一区二区三区久久久久| 一本色道久久88综合亚洲精品高清| 三上悠亚在线观看免费| 亚洲乱码一二三四区国产| 亚洲精品国产成人影院| 在线免费观看国产| 国产成人亚洲综合无| 亚洲人成影院在线| 免费视频中文字幕| 久久午夜无码免费|