Nginx 七層負載均衡

2022-04-18 07:46:07 字數 2361 閱讀 5596

目錄nginx 負載均衡的實現需要配置ngx_http_upstream_module模組(官方文件),使用此模組時,需要用到反向**相關的ngx_http_proxy_module模組(官方文件),切記不可混淆兩個模組 。

# 例項

# 也可以設定每個伺服器分配請求的權重

[root@lb01 ~]# cat /etc/nginx/conf.d/wecenter.wqh.com.conf

upstream wecenter

server

}

分配權重後,每個伺服器處理的請求按比例分配:

排程演算法

簡稱概述

輪詢round-robin(rr)

按請求的時間順序,平均分配到後端伺服器

加權輪詢

weight-round-robin(wrr)

加權輪詢,weight 值越大,分配到的請求的比重越高;該權重值,主要是針對實際工作環境中不同的後端伺服器硬體配置進行調整的

ip_hash

無每個請求按照訪問的 ip 的 hash 結果分配,這樣來自同乙個 ip 的訪問請求都會固定到乙個後端伺服器,一定程度上解決了集群部署環境下session共享的問題

url_hash

無每個請求按照訪問的 url 的 hash 結果分配,這樣每乙個 url 的訪問請求都會固定到乙個後端伺服器

最小連線數

least_conn

最少連線數演算法,哪個後端伺服器連線數少,就分配給哪一台後端伺服器

智慧型調整排程演算法

fair

動態的根據後端伺服器的請求處理到響應的時間進行均衡分配,響應時間短處理效率高的伺服器分配到請求的概率高,需要 upstream_fair 模組

狀態

概述

down

當前的 server 暫時不參與負載均衡排程,一般用於維護(也可以使用注釋)

backup

預留的備份伺服器,除非其他伺服器全部無法使用,否則不會生效

max_fails

允許請求失敗的次數,由 fail_timeout 定義請求超時(即失敗)的時間

fail_timeout

經過max_fails失敗後,服務暫停時間

max_conns

限制最大的接收連線數

# example configuration

[root@lb01 ~]# vi /etc/nginx/conf.d/blog.wqh.com.conf

upstream blog

server

}

如果後台服務連線超時,nginx是本身是有機制的,如果出現乙個節點宕停機的時候,nginx 會更據你具體負載均衡的設定,將請求轉移到其他的節點上,但是,如果後台服務連線沒有停機,但是返回錯誤異常碼(504,502,500)的時候,你需要加乙個負載均衡的設定,如下:

意思是,當其中一台返回錯誤碼 404,502 等錯誤時,可以分配到下一台後端伺服器程式處理,提高平台訪問成功率 。

# 新增 proxy_next_upstream 字段

[root@lb01 ~]# cat /etc/nginx/conf.d/blog.wqh.com.conf

upstream blog

server

}

Nginx與七層負載均衡

我們知道四層負載均衡主要採用更改ip資料報的位址的方式來進行分流,響應結果通常由後端機器直接返回給客戶端 例如lvs的dr模式 而七層負載均衡主要應用於http協議,所使用的技術和四層不一樣。具體過程是客戶端傳送http請求到七層負載均衡伺服器,七層伺服器則將請求傳送給後端伺服器,後端伺服器處理完請...

Nginx與七層負載均衡

我們知道四層負載均衡主要採用更改ip資料報的位址的方式來進行分流,響應結果通常由後端機器直接返回給客戶端 例如lvs的dr模式 而七層負載均衡主要應用於http協議,所使用的技術和四層不一樣。具體過程是客戶端傳送http請求到七層負載均衡伺服器,七層伺服器則將請求傳送給後端伺服器,後端伺服器處理完請...

七層負載均衡之nginx

一 nginx 1.名詞解釋 nginx engine x 是乙個高效能的http和反向 伺服器,反向 reverse proxy 方式是指以 伺服器來接受internet上的連線請求,然後將請求 給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時 伺服器對...