本編博客通過一個具體的實例完整的體西現什麼是負載均衡,有圖有真相。
負載均衡的理論概念我上一篇博客已經梳理的很清楚了,如果沒有看的可以先看一看下面是鏈接
Nginx理論基礎——有圖有真相
1. 實例準備
-
實例說明 :
瀏覽器地址欄輸入地址 http://192.168.17.129/edu/a.html ,負載均衡效果,平均 8080
和 和 8081 端口中,請求的策略分配。 -
準備工作
(1 )準備兩臺 tomcat 服務器,一臺 8080 ,一臺 8081
(2 )在兩臺 tomcat 裏面 webapps 目錄中,創建名稱是 edu 文件夾,在 edu 文件夾中創建
頁面 a.html
說明
因爲本片博客是連載跟新說一上面的準備工作已經在這一篇什麼是Nginx反向代理,讓你明明白白裏面寫好了只需要把vod問價夾改爲edu文件夾就可以了。如果你是剛剛接觸Nginx最好從上面的理論概念篇開始看起。
2. 負載均衡實例展示
- 開始兩臺tomcat服務器,一個8080,一個8081。
啓動好服務器後進入Nginx配置文件路徑,進行負載均衡配置。
到這裏點擊回車進入vim編輯器。
添加如下代碼
upstream myserver{
server 192.168.0.103:8080;
server 192.168.0.103:8081;
}
server {
listen 80;
server_name 192.168.0.103;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://myserver;
index index.html index.htm;
}
效果圖如下:
完成之後退出並保存配置文件。:wq
然後進入Nginx文件夾中的sbin文件夾中在啓動Nginx,
3. 測試實例效果
打開遊覽器輸入:http://192.168.0.103/edu/a.html
後出現頁面。
點擊刷新按鈕,你會發現地址欄沒有改變但是tomcat服務器發生了改變,
實驗成功。
4. 負載均衡分配策略
- 輪詢(默認)
每個請求按時間順序逐一分配到不同的後端服務器,如果後端服務器 down 掉,能自動剔除。上面的實例就是這一中
- weight (權重)
weight 代表權,重默認爲 1,權重越高被分配的客戶端越多
指定輪詢機率,weight 和訪問比率成正比,用於後端服務器性能不均的情況。如:
upstream server_pool {
server 192.168.5.21 weight = 10 ;
server 192.168.5.22 weight = 10 ;
}
- ip_hash
每個請求按訪問 ip 的 hash 結果分配,這樣每個訪客固定訪問一個後端服務器,可以解決 session 的問題。
可以理解爲當你訪問了服務器以後你初始訪問的哪個服務器,以後再要訪問就一直是這個服務器。
如:
upstream server_pool {
ip_hash ;
server 192.168.5.21:80 ;
server 192.168.5.22:80 ;
}
- fair (第三方)
按後端服務器的響應時間來分配請求,響應時間短的優先分配。如
upstream server_pool {
server 192.168.5.21:80 ;
server 192.168.5.22:80 ;
fair ;
}
推薦一篇負載均衡的文章僅需這一篇,吃透負載均衡
Nginx將持續跟新中…