負載均衡學習2

2021-07-24 11:06:26 字數 1706 閱讀 5782

**是發展初期,nginx只**了後端一台伺服器,但由於**名氣大漲訪問的人越來越多一台伺服器實在是頂不住,於是我們加了多台伺服器,那麼多台伺服器又怎麼配置**呢,這裡以兩台伺服器為案例,為大家做演示。

1.upstream 負載均衡模組說明

案例:下面設定負載均衡的伺服器列表。

upstream webservers 

server

}

注,upstream是定義在server之外的,不能定義在server內部。定義好upstream之後,用proxy_pass引用一下即可。

upstream是nginx的http upstream模組,這個模組通過乙個簡單的排程演算法來實現客戶端ip到後端伺服器的負載均衡。在上面的設定中,通過upstream指令指定了乙個負載均衡器的名稱test.net。這個名稱可以任意指定,在後面需要用到的地方直接呼叫即可。

2.upstream 支援的負載均衡演算法

nginx的負載均衡模組目前支援4種排程演算法,下面進行分別介紹,其中後兩項屬於第三方排程演算法。  

輪詢(預設)。每個請求按時間順序逐一分配到不同的後端伺服器,如果後端某台伺服器宕機,故障系統被自動剔除,使使用者訪問不受影響。weight 指定輪詢權值,weight值越大,分配到的訪問機率越高,主要用於後端每個伺服器效能不均的情況下。

ip_hash。每個請求按訪問ip的hash結果分配,這樣來自同乙個ip的訪客固定訪問乙個後端伺服器,有效解決了動態網頁存在的session共享問題。

url_hash。此方法按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,可以進一步提高後端快取伺服器的效率。nginx本身是不支援url_hash的,如果需要使用這種排程演算法,必須安裝nginx 的hash軟體包。

3.upstream 支援的狀態引數

down,表示當前的server暫時不參與負載均衡。

backup,預留的備份機器。當其他所有的非backup機器出現故障或者忙的時候,才會請求backup機器,因此這台機器的壓力最輕。

max_fails,允許請求失敗的次數,預設為1。當超過最大次數時,返回proxy_next_upstream 模組定義的錯誤。

fail_timeout,在經歷了max_fails次失敗後,暫停服務的時間。max_fails可以和fail_timeout一起使用。

注,當負載排程演算法為ip_hash時,後端伺服器在負載均衡排程中的狀態不能是weight和backup。

配置nginx進行健康狀態檢查

max_fails,允許請求失敗的次數,預設為1。當超過最大次數時,返回proxy_next_upstream 模組定義的錯誤。

fail_timeout,在經歷了max_fails次失敗後,暫停服務的時間。max_fails可以和fail_timeout一起使用,進行健康狀態檢查。

upstream webservers

配置ip_hash負載均衡

ip_hash,每個請求按訪問ip的hash結果分配,這樣來自同乙個ip的訪客固定訪問乙個後端伺服器,有效解決了動態網頁存在的session共享問題。(一般電子商務**用的比較多)

upstream webservers

注,當負載排程演算法為ip_hash時,後端伺服器在負載均衡排程中的狀態不能有backup。(有人可能會問,為什麼呢?大家想啊,如果負載均衡把你分配到backup伺服器上,你能訪問到頁面嗎?不能,所以了不能配置backup伺服器)

負載均衡詳解(2)

本文是負載均衡詳解的第一篇文章,介紹負載均衡演算法,硬體負載均衡。部分內容摘自讀書筆記。常用的負載均衡演算法有,輪詢,隨機,最少鏈結,源位址雜湊,加權等方式 將所有請求,依次分發到每台伺服器上,適合伺服器硬體同相同的場景。優點 伺服器請求數目相同 缺點 伺服器壓力不一樣,不適合伺服器配置不同的情況 ...

負載均衡學習筆記

早期的負載均衡方案是通過dns伺服器解決的,比如將www.baidu.com對映為ip 14.215.177.38,14.215.177.39,14.215.177.40等等,這樣請求就分流到了多個伺服器上進行處理了。但dns實現負載均衡的缺點也很明顯 1 不能按照web伺服器的處理能力分配負載,d...

nginx學習負載均衡一

相關環境 192.168.3.40 apache 已發布 192.168.3.49 nginx 已發布 192.168.3.52 elb 1 相關依賴包安裝 yum update y yum y install gcc gcc gcc c pcre pcre devel zlib devel ope...