您好,登錄后才能下訂單哦!
下文給大家?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ù)器上
負(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指令。
以輪詢或最少連接的負(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;
}
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
免責(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)容。