更新時間:2020-05-21 11:04:46 來源:動力節(jié)點 瀏覽2659次
很多Java初學(xué)者認(rèn)為Nginx的用途只有負(fù)載均衡,但除此之外,Nginx還有很多功能,比如限流、緩存、黑白名單等。今天小編就給大家詳細(xì)的介紹一下Nginx的功能。
1.負(fù)載均衡
Nginx通過反向代理可以實現(xiàn)服務(wù)的負(fù)載均衡,避免了服務(wù)器單節(jié)點故障,把請求按照一定的策略轉(zhuǎn)發(fā)到不同的服務(wù)器上,達(dá)到負(fù)載的效果。常用的負(fù)載均衡策略有五種:
1)輪詢。將請求按順序輪流地分配到后端服務(wù)器上,它均衡地對待后端的每一臺服務(wù)器,而不關(guān)心服務(wù)器實際的連接數(shù)和當(dāng)前的系統(tǒng)負(fù)載。
2)加權(quán)輪詢。不同的后端服務(wù)器可能機(jī)器的配置和當(dāng)前系統(tǒng)的負(fù)載并不相同,加權(quán)輪詢能很好地處理這一問題,并將請求順序且按照權(quán)重分配到后端。給配置高、負(fù)載低的機(jī)器配置更高的權(quán)重,讓其處理更多的請求;而配置低、負(fù)載高的機(jī)器,給其分配較低的權(quán)重,降低其系統(tǒng)負(fù)載。
3)ip_hash(源地址哈希法)。根據(jù)獲取客戶端的IP地址,通過哈希函數(shù)計算得到一個數(shù)值,用該數(shù)值對服務(wù)器列表的大小進(jìn)行取模運算,得到的結(jié)果便是客戶端要訪問服務(wù)器的序號。采用源地址哈希法進(jìn)行負(fù)載均衡,同一IP地址的客戶端,當(dāng)后端服務(wù)器列表不變時,它每次都會映射到同一臺后端服務(wù)器進(jìn)行訪問。
4)隨機(jī)。通過系統(tǒng)的隨機(jī)算法,根據(jù)后端服務(wù)器的列表大小值來隨機(jī)選取其中的一臺服務(wù)器進(jìn)行訪問。
5)least_conn(最小連接數(shù)法)。由于后端服務(wù)器的配置不盡相同,對于請求的處理有快有慢,最小連接數(shù)法根據(jù)后端服務(wù)器當(dāng)前的連接情況,動態(tài)地選取其中當(dāng)前積壓連接數(shù)最少的一臺服務(wù)器來處理當(dāng)前的請求,盡可能地提高后端服務(wù)的利用效率,將負(fù)責(zé)合理地分流到每一臺服務(wù)器。
2.靜態(tài)代理
Nginx擅長處理靜態(tài)文件,是非常好的圖片、文件服務(wù)器。把所有的靜態(tài)資源的放到nginx上,可以使應(yīng)用動靜分離,性能更好。
3.限流
Nginx的限流模塊,是基于漏桶算法實現(xiàn)的,在高并發(fā)的場景下非常實用,不過要注意配置參數(shù)和設(shè)置限流。
4.緩存
Nginx的一大功能就是完成靜態(tài)資源的分離部署,減輕后端服務(wù)器的壓力,如果給這些靜態(tài)資源再加一級Nginx的緩存,可以進(jìn)一步提升訪問效率。緩存分為瀏覽器緩存、靜態(tài)資源緩存和代理層緩存。
5.黑白名單
處在黑名單中的IP與網(wǎng)絡(luò),將無法訪問Web服務(wù)。處在白名單中的IP,訪問Web服務(wù)時,將不受Nginx所有安全模塊的限制。支持動態(tài)黑名單(需要與ngx_http_limit_req配合)。
Java編程入門相關(guān)視頻教材
Nginx視頻教程:http://www.dabaquan.cn/javavideo/133.html
以上就是動力節(jié)點java培訓(xùn)機(jī)構(gòu)的小編針對“Java編程教程入門-Nginx功能”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀