溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

nginx的負(fù)載均衡支持哪幾種機(jī)制

發(fā)布時(shí)間:2020-04-16 13:50:42 來源:億速云 閱讀:342 作者:三月 欄目:建站服務(wù)器

下文給大家?guī)韓ginx的負(fù)載均衡支持哪幾種機(jī)制,希望能夠給大家在實(shí)際運(yùn)用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用億速云在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來做一個(gè)解答。

nginx支持下面幾種負(fù)載均衡機(jī)制:
round-robin:輪詢。以輪詢方式將請(qǐng)求分配到不同云服務(wù)器
least-connected:最少連接數(shù)。將下一個(gè)請(qǐng)求分配到連接數(shù)最少的那臺(tái)服務(wù)器
ip-hash :基于客戶端的IP地址。散列函數(shù)被用于確定下一個(gè)請(qǐng)求分配到哪臺(tái)服務(wù)器上

  1. 負(fù)載均衡默認(rèn)配置
    nginx負(fù)載均衡最簡(jiǎn)單的配置如下:
    http {
    upstream myapp1 {
    server srv1.example.com;
    server srv2.example.com;
    server srv3.example.com;
    }

    server {
    listen 80;

    location / {
        proxy_pass http://myapp1;
    }

    }
    }
    在上面的例子中,srv1,srv2,srv3運(yùn)行著相同的應(yīng)用程序。如果沒有特別指定負(fù)載均衡方法默認(rèn)是以輪詢方式。所有的請(qǐng)求被代理到服務(wù)組myapp1,然后nginx負(fù)載均衡的分發(fā)請(qǐng)求。
    nginx反向代理實(shí)現(xiàn)包括下面這些負(fù)載均衡HTTP、HTTPS、FastCGI、uwsgi,SCGI和memcached。
    要配置HTTPS的負(fù)載均衡,只需使用“https”開頭的協(xié)議。
    當(dāng)要設(shè)置FastCGI,uwsgi,SCGI,或者memcached的負(fù)載平衡,分別使用fastcgi_pass,uwsgi_pass,scgi_pass和memcached_pass指令。

  2. 最少連接負(fù)載均衡
  3. nginx的負(fù)載均衡支持哪幾種機(jī)制在一些要求需要更長(zhǎng)的時(shí)間才能完成的應(yīng)用情況下, 最少連接可以更公平地控制應(yīng)用程序?qū)嵗呢?fù)載。使用最少連接負(fù)載均衡,nginx不會(huì)向負(fù)載繁忙的服務(wù)器上分發(fā)請(qǐng)求,而是將請(qǐng)求分發(fā)到負(fù)載低的服務(wù)器上。
    配置如下:
    upstream myapp1 {
    least_conn;
    server srv1.example.com;
    server srv2.example.com;
    server srv3.example.com;
    }
  4. 會(huì)話持久性

以輪詢或最少連接的負(fù)載均衡算法,每個(gè)后續(xù)的客戶端的請(qǐng)求,可以潛在地分配給不同的服務(wù)器上,并不能保證相同的客戶端請(qǐng)求將總是指向同一服務(wù)器上。
這對(duì)于有會(huì)話信息的應(yīng)用場(chǎng)景下,會(huì)有問題的。一般的做法是需要將session信息共享,如使用memcache來存放session。
如果將客戶端的會(huì)話“粘性”或總是試圖選擇一個(gè)特定的服務(wù)器,也是可以的。負(fù)載均衡的ip-hash機(jī)制就可以實(shí)現(xiàn)。
配置如下:
upstream myapp1 {
ip_hash;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}

  1. 加權(quán)負(fù)載均衡
    可以使用權(quán)重來進(jìn)一步控制影響nginx負(fù)載均衡算法。
    在上面的例子中,都沒有配置權(quán)重,這意味著所有指定的服務(wù)器都被視為同樣的。
    當(dāng)指定的服務(wù)器的權(quán)重參數(shù),權(quán)重占比為負(fù)載均衡決定的一部分。權(quán)重大負(fù)載就大。
    配置如下:

upstream myapp1 {
server srv1.example.com weight=3;
server srv2.example.com;
server srv3.example.com;
}
這種情況下,每5個(gè)新的請(qǐng)求將被分布如下:3請(qǐng)求將被引導(dǎo)到SRV1,一個(gè)請(qǐng)求將去SRV2,另一個(gè)請(qǐng)求去srv3。

看了以上關(guān)于nginx的負(fù)載均衡支持哪幾種機(jī)制,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,億速云技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。億速云官網(wǎng)鏈接kemok4.com

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI