Nginx中常見的幾種負載均衡方式介紹!Linux入門必看

老男孩IT教育機構發表於2022-09-27

  提到Nginx,就會想到負載均衡,Nginx將請求分攤到不同的伺服器中,保證服務的可用性,緩解服務壓力,保證服務的響應速度,即使某一個應用服務不可用,也可以保證業務的正常進行,並且方便對伺服器進行擴容縮容。

  Nginx中常見的幾種負載均衡方式:

  1、輪詢(Nginx自帶、預設)

  該策略是Nginx預設的負載均衡策略,每一個客戶端請求按時間順序輪流分配到不同的伺服器上,如果後端服務不可以用,會自動過濾掉。

  upstream my_test_server {

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }

  2、weight 權重(Nginx自帶)

  weight代表權重的意思,用於指定輪詢的機率,預設權重都是1,可以手動設定調整,權重越高,被分配的次數越多,weight權重和訪問比例是成正比的,用於解決後端伺服器效能不均衡時,調整訪問比例。

  upstream my_test_server {

  server 192.168.0.100:8080 weight=1;

  server 192.168.0.101:8080 weight=2;

  server 192.168.0.102:8080 weight=3;

  }

  3、ip_hash(Nginx自帶)

  ip_hash是將每個請求按照訪問ip的hash結果進行分配,這種方式可以保證同一個使用者會固定訪問一個後端伺服器。優點:可以保證session會話,解決伺服器之間session不能共享的問題。

  upstream my_test_server {

  ip_hash;

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }

  4、least_conn(Nginx自帶)

  將請求轉發給連線數較少的後端伺服器。每個後端伺服器配置可能不同,處理的請求也有可能不同,對於處理的請求有快有慢,least_conn是根據後端伺服器的連線情況,動態的選擇連線數量較少的一臺伺服器來處理當前的請求。

  upstream my_test_server {

  least_conn;

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }

  5、fair(第三方)

  fair是按照伺服器端的響應時間來分配請求,響應時間短的伺服器優先分配。第三方的負載均衡策略需要安裝第三方的外掛。

  upstream my_test_server {

  fair;

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }

  6、url_hash(第三方)

  url_hash是根據url的hash結果進行分配請求,每一個url會固定到同一個伺服器上,配合快取使用,可以減少不必要的下載和資源時間的浪費。每次同一個url請求到達同一個伺服器上,第一次載入後放入快取,後面再次請求,直接取快取資源。如果不採用url_hash,可能會導致請求到達不同的伺服器,資源出現重新載入的情況。第三方的負載均衡策略需要安裝第三方的外掛。

  upstream my_test_server {

  hash $request_uri;

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2916402/,如需轉載,請註明出處,否則將追究法律責任。

相關文章