nginx面試題-nginx負載均衡與正反向代理

wangchunbo發表於2022-03-29

nginx負載均衡演算法

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

  2. weight

指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。
redis配置多伺服器,中也有這玩意。

  1. ip_hash

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。

  1. fair(第三方)

按後端伺服器的響應時間來分配請求,響應時間短的優先分配。

  1. url_hash(第三方)

根據url的hash結果分配

Nginx的 反向代理和正向代理怎麼理解?

正向代理:

區域網中的電腦使用者想要直接訪問網路是不可行的,只能透過代理伺服器來訪問,這種代理服務就被稱為正向代理

nginx面試題-nginx負載均衡與正反向代理

正向代理,是在使用者端的。比如需要訪問某些國外網站,我們可能需要購買v–p–n。

並且v–p–n是在我們的使用者瀏覽器端設定的(並不是在遠端的伺服器設定)。

瀏覽器先訪問v–p–n地址,v–p–n 地址轉發請求,並最後將請求結果原路返回來。

反向代理

有正向代理,就有反向代理。(哈哈,因為起名字的人也會考慮,為什麼不叫代理,而是取名”正向”代理)。

反向代理是作用在伺服器端的,是一個虛擬ip(VIP)。對於使用者的一個請求,會轉發到多個後端處理器中的一臺來處理該具體請求。

大型網站都有DNS(域名解析伺服器),load balance(負載均衡器)等。

nginx面試題-nginx負載均衡與正反向代理

客戶端無法感知代理,因為客戶端訪問網路不需要配置,只要把請求傳送到反向代理伺服器,由反向代理伺服器去選擇目標伺服器獲取資料,然後再返回到客戶端,此時反向代理伺服器和目標伺服器對外就是一個伺服器,暴露的是代理伺服器地址,隱藏了真實伺服器IP地址

總結,nginx作為軟體能支援反向代理,也就是說nginx可以作為負載均衡器。

(負載均衡器可以提高網站效能,支援更高併發請求)

參考: www.cnblogs.com/xudong-bupt/p/8661...

本作品採用《CC 協議》,轉載必須註明作者和本文連結
感謝關注 上海PHP自學中心-免費程式設計影片教學|

相關文章