Nginx配置實例 -- 負載均衡

什麼是負載均衡

一個網站在創建初期沒多少流量的時候,網站能正常訪問;但是等這個網站流量上升,併發量大的時候,網站會出現訪問延遲,甚至訪問失敗的問題;這時候,就需要用到負載均衡,即我們以前部署的是單一服務器,現在部署多個服務器集羣,把流量分發到集羣中的不同的機器上,這個就是負載均衡技術實現要做的事;使用了負載均衡後,每個節點機器上處理的請求相對會少很多,所以能夠解決訪問延遲卡頓和訪問失敗的問題,提高網站用戶體驗,原理圖如下:

負載均衡實例的實現

1、要實現的效果

在瀏覽器地址欄輸入地址http://Linux系統IP/edu/hello.html,使請求平均分配到8080、8081端口中,達到負載均衡效果

2、準備工作

  • 準備兩臺Tomcat服務器,一臺端口是8080,一臺端口是8081
  • 在兩臺Tomcat的webapps目錄中,創建名稱是edu的文件夾,在edu文件夾中創建頁面hello.html,用於測試

3、在nginx的配置文件中進行負載均衡的配置

upstream是配置nginx與後端服務器負載均衡非常重要的一個模塊,並且它還能對後端的服務器的健康狀態進行檢查,若後端服務器中的一臺發生故障,則前端的請求不會轉發到該故障的機器

4、測試結果

用瀏覽器訪問http://Linux系統IP/edu/hello.html,頁面會出現8080、8081不同的輸出

負載均衡策略

1、輪詢(默認的策略)

每個請求按時間順序逐一分配到不同的後端服務器,如果後端服務器down掉,會自動剔除

2、weight權重 (weight默認爲 1)

根據weight權重,請求會根據權重比例分發給不同後端服務器,weight權重越高,分配的比例越大; 實際分配,根據服務器硬件配置高低,來具體分配weight權重,硬件配置高的,weight就配置高點,參考配置如下:

upstream myserver{
	server 192.167.40.3:8080 weight=1;
	server 192.167.40.4:8081 weight=2;
}

3、ip_hash

ip_hash策略是根據用戶客戶端的IP的hash值來分配具體服務器,這樣每個訪問客戶端都會固定訪問某一個服務器,這樣可以解決session丟失問題,很多網站都採用這種策略來搞負載均衡,主要考慮到session問題,參考配置如下:

upstream myserver{
	ip_hash;
	server 192.167.40.3:8080;
	server 192.167.40.4:8081;
}

4、least_conn最少連接

least_conn策略是將web請求分發到連接數最少的服務器上,參考配置如下:

upstream myserver{
	least_conn;
	server 192.167.40.3:8080;
	server 192.167.40.4:8081;
}

負載均衡備份與宕機

1、備份backup配置

當其他非backup機器掛掉後,纔會請求backup機器,參考配置如下:

upstream myserver{
	server 192.167.40.3:8080;
	server 192.167.40.4:8081 backup;
}

2、宕機down配置

配置down的服務器不參與負載均衡,這樣down所標記的服務器就可以安心的升級了,參考配置如下:

upstream myserver{
	server 192.167.40.3:8080;
	server 192.167.40.4:8081 down;
}

這兩個配置很多時候用於運維,維護某個機器的時候

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章