簡(jiǎn)單了解Nginx七層負(fù)載均衡的幾種調(diào)度算法
這篇文章主要介紹了簡(jiǎn)單了解Nginx七層負(fù)載均衡的幾種調(diào)度算法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
Nginx是一款輕量級(jí)的高性能web服務(wù)器,同時(shí)也是一款非常優(yōu)秀的負(fù)載均衡器和反向代理服務(wù)器。由于支持強(qiáng)大的正則匹配規(guī)則、動(dòng)靜分離、URLrewrite功能及安裝配置簡(jiǎn)單且對(duì)網(wǎng)絡(luò)穩(wěn)定性依賴非常小等優(yōu)點(diǎn),所以常用來(lái)做為七層負(fù)載均衡使用。在硬件不差的情況下,通常可以穩(wěn)定支持幾萬(wàn)的并發(fā)連接,在硬件性能足夠好,且對(duì)系統(tǒng)內(nèi)核參數(shù)及Nginx配置進(jìn)行優(yōu)化甚至可以達(dá)到10萬(wàn)以上的并發(fā)。
以下是Nginx作為七層負(fù)載均衡常用的幾種調(diào)度算法和適用的業(yè)務(wù)場(chǎng)景
1、輪詢(默認(rèn)調(diào)度算法)
特點(diǎn):每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器處理。
適用業(yè)務(wù)場(chǎng)景:后端服務(wù)器硬件性能配置完全一致,業(yè)務(wù)無(wú)特殊要求時(shí)使用。
upstream backendserver { server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; }
2、加權(quán)輪詢
特點(diǎn):指定輪詢幾率,weight值(權(quán)重)和訪問(wèn)比例成正比,用戶請(qǐng)求按權(quán)重比例分配。
適用業(yè)務(wù)場(chǎng)景:用于后端服務(wù)器硬件性處理能力不平均的情形。
upstream backendserver { server 192.168.0.14:80 weight=5 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 weight=10 max_fails=2 fail_timeout=10s; }
3、ip_hash
特點(diǎn):每個(gè)請(qǐng)求按訪問(wèn)ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,可以解決session會(huì)話保持問(wèn)題。
適用業(yè)務(wù)場(chǎng)景:適用于需要賬號(hào)登錄的系統(tǒng),會(huì)話連接保持的業(yè)務(wù)。
upstream backendserver { ip_hash; server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; }
4、最少連接數(shù) least_conn
特點(diǎn):按nginx反向代理與后端服務(wù)器之間的連接數(shù),連接數(shù)最少的優(yōu)先分配。
適用業(yè)務(wù)場(chǎng)景:適用于客戶端與后端服務(wù)器需要保持長(zhǎng)連接的業(yè)務(wù)。
upstream backendserver { least_conn; server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; }
5、fair(需編譯安裝第三方模塊 ngx_http_upstream_fair_module)
特點(diǎn):按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。
適用業(yè)務(wù)場(chǎng)景:對(duì)訪問(wèn)響應(yīng)速度有一定要求的業(yè)務(wù)。
upstream backendserver { fair; server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; }
6、url_hash(需編譯安裝第三方模塊 ngx_http_upstream_hash_module)
特點(diǎn):按訪問(wèn)url的hash結(jié)果來(lái)分配請(qǐng)求,使同一個(gè)url訪問(wèn)到同一個(gè)后端服務(wù)器。
適用業(yè)務(wù)場(chǎng)景:適用于后端服務(wù)器為緩存服務(wù)器時(shí)比較有效。
upstream backendserver { server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; hash $request_uri; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
nginx負(fù)載均衡下的webshell上傳的實(shí)現(xiàn)
本文主要介紹了nginx負(fù)載均衡下的webshell上傳的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Nginx實(shí)現(xiàn)靜態(tài)資源壓縮的方法詳解
靜態(tài)資源過(guò)大,下載耗時(shí)導(dǎo)致頁(yè)面打開(kāi)慢,希望通過(guò)壓縮減小文件大小,提升下載速度,所以本文給大家介紹了Nginx實(shí)現(xiàn)靜態(tài)資源壓縮的方法,并通過(guò)代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02Nginx geoip模塊實(shí)現(xiàn)地區(qū)性負(fù)載均衡
相信做過(guò)awstats的都用過(guò)開(kāi)源的geoip.dat ip數(shù)據(jù)庫(kù),剛好nginx wiki上有g(shù)eoip 模塊,這樣就可以實(shí)現(xiàn)地區(qū)性的負(fù)載均衡,但是maxmind 的ip數(shù)據(jù)庫(kù)對(duì)中國(guó)的支持不算太好,不過(guò)現(xiàn)在也不錯(cuò)了~2010-12-12Nginx反向代理及負(fù)載均衡如何實(shí)現(xiàn)(基于linux)
這篇文章主要介紹了Nginx反向代理及負(fù)載均衡如何實(shí)現(xiàn)(基于linux),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Nginx泛解析到子目錄后自動(dòng)判斷有無(wú)public目錄詳解
這篇文章主要給大家介紹了關(guān)于Nginx泛解析到子目錄后自動(dòng)判斷有無(wú)public目錄的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08nginx proxy_redirect https配置后端http302跳轉(zhuǎn)處理方式
這篇文章主要介紹了nginx proxy_redirect https配置后端http302跳轉(zhuǎn)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Nginx實(shí)戰(zhàn)之反向代理WebSocket的配置實(shí)例
最近在工作中遇到一個(gè)需求,需要使用 nginx 反向代理websocket,經(jīng)過(guò)查找一番資料,目前已經(jīng)測(cè)試通過(guò),所以這篇文章主要給大家介紹了Nginx反向代理WebSocket配置的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-04-04一文教會(huì)你使用Nginx訪問(wèn)日志統(tǒng)計(jì)PV與UV
做網(wǎng)站的都知道,平常經(jīng)常要查詢下網(wǎng)站PV、UV等網(wǎng)站的訪問(wèn)數(shù)據(jù),所以下面這篇文章主要給大家介紹了關(guān)于如何使用Nginx訪問(wèn)日志統(tǒng)計(jì)PV與UV的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05