首頁 >運維 >Nginx >nginx負載平衡是什麼意思

nginx負載平衡是什麼意思

(*-*)浩
(*-*)浩原創
2019-06-06 09:36:086840瀏覽

負載平衡

nginx扮演了反向代理伺服器的角色,它是以依據什麼樣的規則進行請求分發的呢?他有什麼負載平衡調度演算法?

nginx負載平衡是什麼意思

這裡提到的客戶端發送的、nginx反向代理伺服器接收到的請求數量,就是我們說的負載量

#請求數量依照一定的規則進行分發到不同的伺服器處理的規則,就是一種均衡規則

所以~將伺服器接收到的請求依照規則分發的過程,稱為負載平衡。

負載平衡在實際專案操作過程中,有硬體負載平衡和軟體負載平衡兩種,硬體負載平衡也稱為硬負載,如F5負載平衡,相對造價昂貴成本較高,但是資料的穩定性安全性等等有非常好的保障,如中國移動中國聯通這樣的公司才會選擇硬負載進行操作;更多的公司考慮到成本原因,會選擇使用軟體負載平衡,軟體負載平衡是利用現有的技術結合主機硬體實現的一種訊息佇列分發機制

Nginx支援的負載平衡調度演算法方式如下:(重點)

weight輪詢(預設):

接收到的請求依照順序逐一分配到不同的後端伺服器,即使在使用過程中,某一台後端伺服器宕機,Nginx會自動將該伺服器剔除出佇列,請求受理情況不會受到任何影響。這種方式下,可以為不同的後端伺服器設定一個權重值(weight),用於調整不同的伺服器上請求的分配率;權重資料越大,被分配到請求的幾率越大;該權重值,主要是針對實際工作環境中不同的後端伺服器硬體配置進行調整的。

ip_hash:

每個請求都依照發起客戶端的ip的hash結果進行匹配,這樣的演算法下一個固定ip位址的客戶端總是會存取到同一個後端伺服器,這也在一定程度上解決了叢集部署環境下session共享的問題。

fair:

智慧調整調度演算法,動態的根據後端伺服器的請求處理到回應的時間進行均衡分配,回應時間短處理效率高的伺服器分配到請求的機率高,回應時間長處理效率低的伺服器分配到的請求少;結合了前兩者的優點的一種調度演算法。但要注意的是Nginx預設不支援fair演算法,如果要使用這種排程演算法,請安裝upstream_fair模組。

url_hash:

按照存取的url的hash結果分配請求,每個請求的url會指向後端固定的某個伺服器,可以在Nginx作為靜態伺服器的情況下提高快取效率。同樣要注意Nginx預設不支援這種調度演算法,要使用的話需要安裝Nginx的hash軟體包。

更多Nginx相關技術文章,請造訪Nginx使用教學欄位進行學習!

以上是nginx負載平衡是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:nginx是什麼下一篇:nginx是什麼