實現伺服器集群主要就是為了負載均衡(load balance)——有兩台或者以上的伺服器或者站點提供服務,服務將來自客戶端的請求,靠某種演算法,去盡量平分請求到集群的機器中,從而避免一台伺服器因為負載太高而出現故障,而即使其中某個機器出現故障,負載均衡會自動規避選擇,使得使用者也能正常訪問服務。
好處:減輕後端伺服器的壓力,提高靜態資源訪問速度
負載均衡的例子
前面有1000個妞等著你來泡,這1000個妞等久了有可能不耐煩,就會走了不讓你泡了。你要想同時泡1000個妞,那你就得有分身的能力才行。
只要有了分身的能力,你就再也不用擔心妞泡不過來了。
結論得出:負載均衡==分身的能力
你的分身把這個妞泡準了,你這個分身就要跟她一直談下去,其他的妞過來了你肯定要拒絕丫。
你沒泡成功,當然是去尋找下乙個目標。
結論得出:負載均衡還得保持通話
你的分身也偶爾發發小脾氣,沒激情來泡妞的時候,你就要去修理他,去找他聊聊心。
結論得出:負載均衡還要懂得修理他(t出泡妞隊營)
尼瑪負載均衡就為了泡妞,我們果斷一起踩扁它。
負載均衡現在市場上面已經有很多成熟的硬體裝置,可以掏點錢就可以買了。當然這費用嘛......
如果你閒費用貴,自己瞎折騰也好,來體現你的技術是多麼牛xx, 你就用一台伺服器,伺服器裡面裝個nginx就可以解決了。
尼瑪負載均衡就這麼簡單,我們繼續一起踩扁它。
要說道每個分身的能力如何複製過去,就如每一台電腦要泡妞怎麼辦,是不是要具有相同的**。怎麼辦?
1. 共享主人的經驗
2. 把主人的經驗複製過來
3. 邊複製邊共享
轉成計算機就是說:
1. 檔案共享
2. 檔案同步
3. 分布式檔案系統
他們都有各自的優缺點,選擇適合自己的就行。
首先我們來回顧下上篇的概念:負載均衡 ==分身的能力。
既然要有分身的能力嘛,這好辦,多弄幾台伺服器就搞定了。
今天我們講的例項嘛…..我們還是先看圖比較好:
還是圖比較清晰,以下我都用別名稱呼:
vm1 : 負載均衡伺服器/web入口伺服器/www.test.com
vm2 : web伺服器/分身1/192.168.1.121
vm3 : web伺服器/分身2/192.168.1.124ps:首先我們學這個的開始之前吧,不懂防火牆的童鞋們,建議你們把伺服器的防火牆關閉,盡量不要引起不必要的麻煩。
首先 :伺服器都要安裝nginx,不會安裝的可以去官網檢視教程: (中文版教程、非常的牛x)
1.裝完之後哈,我們先找到 vm1的nginx.conf配置檔案:
在http段加入以下**:
upstream servers.test.com當然嘛,這servers.test.com隨便取的。
那麼vm1的server配置如下:
在http段加入以下**:
server
}那麼vm2
、vm3
的配置如下:
server2.有人就問了,我用其它埠行不行啊,當然也是可以的,假設vm1的nginx.conf配置檔案:
upstream servers2.test.com
server
}
那麼vm2的配置如下:
servervm3
配置:
server
重啟之後,我們訪問下,恩不錯,確實很厲害。
當我們把一台伺服器給關閉了後。
訪問**,還是
ok的。說明:負載均衡還要懂得修理他(t出泡妞隊營)
3.那麼負載均衡如何保持通話呢?
當然現在有好幾種方案,
1、輪詢(預設)
每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。
2、weight
指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。
例如:upstream bakend
3、ip_hash
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,
優點:能較好地把同乙個客戶端的多次請求分配到同一臺伺服器處理,避免了加權輪詢無法適用會話保持的需求。
缺點:當某個時刻來自某個
ip位址的請求特別多,那麼將導致某台後端伺服器的壓力可能非常大,而其他後端伺服器卻空閒的不均衡情況。
例如:upstream resinserver
4、fair(第三方)
按後端伺服器的響應時間來分配請求,響應時間短的優先分配。
upstream resinserver
nginx安裝及負載均衡配置
nginx engine x 是乙個高效能的 http 和 反向 伺服器,也是乙個 imap pop3 smtp 伺服器。nginx 是由 igor sysoev 為俄羅斯訪問量第二的 rambler.ru 站點開發的,第乙個公開版本0.1.0發布於2004年10月4日。其將源 以類bsd許可證的形...
nginx負載均衡配置及測試
the remote server ip is the nginx server ip is 2 啟動兩個tomcat,進行訪問測試 宿主機中的 http localhost 8080 test.jsp ubuntu14.04中的 http localhost 8080 test.jsp 3 在ng...
nginx負載均衡配置
curl nginx upstream fair.zip unzip nginx upstream fair.zip cd nginx 1.6.2 檢視當前nginx 編譯引數 nginx v 輸出 configure arguments prefix usr local nginx configu...