nginx學習之負載均衡

ʞɔnpʎsԀ發表於2020-11-08

1.什麼是負載均衡

  • 增加伺服器的數量,然後將請求分發到各個伺服器上,將原先請求集中到單個伺服器上的情況改為將請求分發到多個伺服器上,將負載分發到不同的伺服器,也就是我們所說的負載均衡
  • 將負載分攤到不同的服務單元,既保證服務的可用性,又保證響應足夠快,給使用者很好的體驗。
    在這裡插入圖片描述

2.實現效果

  • 瀏覽器位址列輸入地址:http://192.168.17.129/edu/a.html,為了達到負載均衡效果,將指令平均到8080和8081埠中(也就是輸入一個地址,既可以到8080埠又可以到8081埠,讓他平均分配到不同的tomcat中去

3.準備工作

  • 準備兩臺tomcat伺服器,一臺8080,一臺8081
  • 在兩臺tomcat裡面webapps目錄中,建立名稱是edu資料夾,在edu資料夾中建立頁面a.html,用於測試

4.在niginx的配置檔案中進行基本的負載均衡的配置

4.1加上負載均衡的服務列表

在這裡插入圖片描述

4,2在server中的location新增剛才設定的負載均衡代理

在這裡插入圖片描述

4.3nginx提供的幾種負載均衡分配方式(策略)

  1. 輪詢(預設策略)
    每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉(被停止了),能自動剔除

  2. weight
    weight 代表權重, 預設為1,權重越高被分配的客戶端越多
    指定輪詢問機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。例如在這裡插入圖片描述

  3. ip_hash
    每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器可以解決session的問題例如
    在這裡插入圖片描述
    解釋:只要當前ip地址第一次訪問的是這個伺服器,那麼以後每次這個IP地址訪問都會被分配到這個伺服器

  4. fair (第三方)
    按後端伺服器的響應時間來分配請求,響應時間短的優先分配
    在這裡插入圖片描述

相關文章