nginx 基礎 4 負載均衡

1.配置

http 段配置

     upstream  jing {
       server    192.168.0.25:80 max_fails=3 fail_timeout=20s weight=1;
       server    192.168.0.28:80 max_fails=3 fail_timeout=20s weight=2;
             #後面參數表示如果,連續請求3次失敗,停機20s,不接受請求
}

#表示創建一個虛擬web組,name "jing"

server 段

 location / {
         proxy_pass http://jing/;
}

#location 匹配到轉發給 "jing" 虛擬web組

2. 調度算法

輪詢(rr),默認調度算法,將請求平均分配給兩個後端主機,假如一個頁面10個請求,第一個web主機響應 1 3 5 7 9 第二個主機響應,2 4 6 8 10,注意輪詢按請求來負載的。

加權輪詢(wrr),和輪詢一樣就是加了權重,假如web1 "weight=1" ,web2 "weight=2" ,有個頁面有9個請求,web1會響應3個,web會響應6個。

ip_hash,每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端服務器,可以解決session的問題

url_hash(第三方)根據用戶所請求的url資源路徑分配到後端不同的服務器,可以解決後端是緩存服務器提高命中率。

least_conn 最少連接數,根據當前後端服務器所響應的客戶端情況,把當前訪問請求調度到後端服務器響應相對較   少服務器上

fair(第三方) 按後端服務器的響應時間來分配請求,響應時間短的優先分配。比 weight、ip_hash更加智能的負載均衡算法,fair算法可以根據頁面大小和加載時間長短智能地進行負載均衡,也就是根據後端服務器的響應時間 來分配請求,響應時間短的優先分配。Nginx本身不支持fair,如果需要這種調度算法,則必須安裝upstream_fair模塊

3.服務器狀態

down 表示單前的server暫時不參與負載
weight 默認爲1.weight越大,負載的權重就越大。
max_fails :允許請求失敗的次數默認爲1.當超過最大次數時,設置在fail_timeout參數設置的時間內最大失敗次數,如果在這個時間內,所有針對該服務器的請求都失敗了,那麼認爲該服務器會被認爲是停機了。
fail_timeout:max_fails次失敗後,暫停的時間,默認爲10s。
backup: 其它所有的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。

4.四層代理(就和防火牆端口映射一樣)

vim /etc/nginx/nginx.conf
nginx 基礎 4 負載均衡
#先修改nignx 主配置文件,在http 段外面 添加四層代理的文件夾
mkdir -pv /etc/nginx/conf.4

vim /etc/nginx/conf.4/ssh.conf #新建轉發配置文件

stream{
     upstream ssh {
     server 192.168.0.28:22;
}
  server  {
       listen 10022;
            proxy_connect_timeout 3s;
                        #代理超時時間
            proxy_timeout 3s;
                        #服務器返回超時時間
            proxy_pass ssh;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章