資訊中心
nginx負(fù)載均衡策略是什么?我們都知道,Nginx支持負(fù)載均衡,可以很方便的幫助我們進(jìn)行水平擴(kuò)容,然而它究竟是依據(jù)什么原則進(jìn)行請(qǐng)求的分發(fā),其中又有哪些負(fù)載均衡算法可供選擇和配置,今天就讓我們好好來(lái)了解一下。
隨著網(wǎng)站服務(wù)器負(fù)載的不斷增加,負(fù)載均衡對(duì)IT人員來(lái)說(shuō)已不是陌生話題。負(fù)載均衡是將流量負(fù)載分?jǐn)偟讲煌姆?wù)單元,保證服務(wù)器的高可用,響應(yīng)足夠快,給用戶良好的體驗(yàn)。
負(fù)載均衡業(yè)務(wù)詳情鏈接:http://www.bxgb88.com/
關(guān)于nginx的理解
在服務(wù)器集群中,Nginx起到一個(gè)代理服務(wù)器的角色(即反向代理),為了避免單獨(dú)一個(gè)服務(wù)器壓力過(guò)大,將來(lái)自用戶的請(qǐng)求轉(zhuǎn)發(fā)給不同的服務(wù)器。Nginx的特點(diǎn)是穩(wěn)定性高、功能強(qiáng)大、資源消耗低。
Nginx是一個(gè)高性能的Http和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器(電子郵件代理)。Nginx可作為負(fù)載均衡服務(wù)器,可作為Http代理服務(wù)器對(duì)外進(jìn)行服務(wù)。處理靜態(tài)文件,索引文件以及自動(dòng)索引;打開(kāi)文件描述符緩沖。模塊化的結(jié)構(gòu)。
關(guān)于Nginx負(fù)載均衡策略
對(duì)大型網(wǎng)站而言,不管多么強(qiáng)大的服務(wù)器,都滿足不了網(wǎng)站持續(xù)增長(zhǎng)的業(yè)務(wù)需求。當(dāng)一臺(tái)服務(wù)器的處理能力、存儲(chǔ)空間不足時(shí),更恰當(dāng)?shù)淖龇ㄊ窃黾右慌_(tái)服務(wù)器分擔(dān)原有服務(wù)器的訪問(wèn)及存儲(chǔ)壓力。擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。分?jǐn)偟蕉鄠€(gè)操作單元上進(jìn)行執(zhí)行。Nginx通過(guò)反向代理可以實(shí)現(xiàn)服務(wù)的負(fù)載均衡,避免了服務(wù)器單節(jié)點(diǎn)故障,把請(qǐng)求按照一定的策略轉(zhuǎn)發(fā)到不同的服務(wù)器上,達(dá)到負(fù)載的效果。
常用的負(fù)載均衡策略有:
1、輪詢:將請(qǐng)求按順序輪流地分配到后端服務(wù)器上,它均衡地對(duì)待后端的每一臺(tái)服務(wù)器,而不關(guān)心服務(wù)器實(shí)際的連接數(shù)和當(dāng)前的系統(tǒng)負(fù)載。
2、加權(quán)輪詢:不同的后端服務(wù)器可能機(jī)器的配置和當(dāng)前系統(tǒng)的負(fù)載并不相同,因此它們的抗壓能力也不相同。給配置高、負(fù)載低的機(jī)器配置更高的權(quán)重,讓其處理更多的請(qǐng);而配置低、負(fù)載高的機(jī)器,給其分配較低的權(quán)重,降低其系統(tǒng)負(fù)載,加權(quán)輪詢能很好地處理這一問(wèn)題,并將請(qǐng)求順序且按照權(quán)重分配到后端。
3、ip_hash(源地址哈希法)
根據(jù)獲取客戶端的IP地址,通過(guò)哈希函數(shù)計(jì)算得到一個(gè)數(shù)值,用該數(shù)值對(duì)服務(wù)器列表的大小進(jìn)行取模運(yùn)算,得到的結(jié)果便是客戶端要訪問(wèn)服務(wù)器的序號(hào)。采用源地址哈希法進(jìn)行負(fù)載均衡,同一IP地址的客戶端,當(dāng)后端服務(wù)器列表不變時(shí),它每次都會(huì)映射到同一臺(tái)后端服務(wù)器進(jìn)行訪問(wèn)。
4、隨機(jī):通過(guò)系統(tǒng)的隨機(jī)算法,根據(jù)后端服務(wù)器的列表大小值來(lái)隨機(jī)選取其中的一臺(tái)服務(wù)器進(jìn)行訪問(wèn)。
5、least_conn(最小連接數(shù)法)
由于后端服務(wù)器的配置不盡相同,對(duì)于請(qǐng)求的處理有快有慢,最小連接數(shù)法根據(jù)后端服務(wù)器當(dāng)前的連接情況,動(dòng)態(tài)地選取其中當(dāng)前積壓連接數(shù)最少的一臺(tái)服務(wù)器來(lái)處理當(dāng)前的請(qǐng)求,盡可能地提高后端服務(wù)的利用效率,將負(fù)責(zé)合理地分流到每一臺(tái)服務(wù)器。
Nginx負(fù)載均衡的方案
可在前端部署nginx服務(wù)器,后端部署tomcat應(yīng)用。用戶訪問(wèn)nginx服務(wù)器,對(duì)于靜態(tài)資源nginx服務(wù)器直接返回到瀏覽器展示給用戶,對(duì)動(dòng)態(tài)資源的請(qǐng)求被nginx服務(wù)器轉(zhuǎn)發(fā)(分配)到tomcat應(yīng)用服務(wù)器,tomcat應(yīng)用服務(wù)器將處理后得到的數(shù)據(jù)結(jié)構(gòu)返回給nginx服務(wù)器,然后返回到瀏覽器展示給用戶。
好了,上面就是對(duì)于nginx負(fù)載均衡的幾點(diǎn)理解,除了負(fù)載均衡nginx還有,幾個(gè)常用功能,靜態(tài)分離、限流、緩存、黑白名單等,大家可以抽空了解一下!
以上是互聯(lián)數(shù)據(jù)關(guān)于nginx負(fù)載均衡策略的整理,想知道網(wǎng)站ddos壓力測(cè)試平臺(tái)有哪些?上次已經(jīng)講過(guò),互聯(lián)數(shù)據(jù)負(fù)載均衡EasySLB服務(wù),在多臺(tái)云主機(jī)間實(shí)現(xiàn)應(yīng)用程序流量的自動(dòng)分配??蓪?shí)現(xiàn)故障自動(dòng)切換,提高業(yè)務(wù)可用性,并提高資源利用率。