Nginx配置反向代理與負載均衡

Nginx的upstream目前支持的分配算法:
一、round-robin 輪詢1:1輪流處理請求(默認)
每一個請求按時間順序逐一分配到不一樣的應用服務器,若是應用服務器down掉,自動剔除,剩下的繼續輪詢。
二、weight 權重(加權輪詢)
經過配置權重,指定輪詢概率,權重和訪問比率成正比,用於應用服務器性能不均的狀況。
三、ip_hash 哈希算法
每一個請求按訪問ip的hash結果分配,這樣每一個訪客固定訪問一個應用服務器,能夠解決session共享的問題。應用服務器若是故障須要手工down掉。
參數含義:
down:表示單前的server暫時不參與負載
weight:默認爲1,weight越大,負載的權重就越大。
max_fails:容許請求失敗的次數默認爲1.當超過最大次數時,返回proxy_next_upstream模塊定義的錯誤
fail_timeout:max_fails次失敗後,暫停的時間。
backup:其它全部的非backup機器down或者忙的時候,請求backup機器。html

1、七層負載配置(默認支持)
示例以下:
upstream tomcats {
  server 10.0.0.1:8080;
  server 10.0.0.2:8080 weight=2;
}

server {
  listen 80;
  server_name www.example.com;
  location / {
    proxy_pass http://tomcats;
    index index.html index.htm;
  }
}nginx

2、四層負載配置
nginx1.9.0以後引入模塊ngx_stream_core_module支持TCP負載,默認沒有編譯,須要在編譯時添加--with-stream配置參數
stream與http處在同一級別
示例以下:
stream{
  upstream tomcats {
    server 10.0.0.1:8080;
    server 10.0.0.2:8080 weight=2;
  }

  server {
    listen 80;
    server_name www.example.com;
    location / {
      proxy_pass http://tomcats;
      index index.html index.htm;
    }
  }
}
算法

相關文章
相關標籤/搜索