HTTP Basic 認證
一、負載均衡的作用
1、轉發功能
按照一定的演算法【權重、輪詢】,將客戶端請求轉發到不同應用伺服器上,減輕單個伺服器壓力,提高系統併發量。
2、故障移除
通過心跳檢測的方式,判斷應用伺服器當前是否可以正常工作,如果伺服器期宕掉,自動將請求傳送到其他應用伺服器。
3、恢復新增
如檢測到發生故障的應用伺服器恢復工作,自動將其新增到處理使用者請求隊伍中。
二、Nginx實現負載均衡
同樣使用兩個tomcat模擬兩臺應用伺服器,埠號分別為8080 和8081
1、Nginx的負載分發策略
Nginx的upstream目前支援的分配演算法:
1)、輪詢——1:1 輪流處理請求(預設)
每個請求按時間順序逐一分配到不同的應用伺服器,如果應用伺服器down掉,自動剔除,剩下的繼續輪詢。
2)、權重——you can you up
通過配置權重,指定輪詢機率,權重和訪問比率成正比,用於應用伺服器效能不均的情況。
3)、ip_雜湊演算法
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個應用伺服器,可以解決session共享的問題。
2、配置Nginx的負載均衡與分發策略
通過在upstream引數中新增的應用伺服器IP後新增指定引數即可實現,如:
upstream tomcatserver1 { server 192.168.72.49:8080 weight=3; server 192.168.72.49:8081; } server { listen 80; server_name 8080.max.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcatserver1; index index.html index.htm; } }
通過以上配置,便可以實現,在訪問8080.max.com這個網站時,由於配置了proxy_pass地址,所有請求都會先通過nginx反向代理伺服器,在伺服器將請求轉發給目的主機時,讀取upstream為 tomcatsever1的地址,讀取分發策略,配置tomcat1權重為3,所以nginx會將大部分請求傳送給49伺服器上的tomcat1,也就是8080埠;較少部分給tomcat2來實現有條件的負載均衡,當然這個條件就是伺服器1、2的硬體指數處理請求能力。
3、nginx其他配置
upstream myServer { server 192.168.72.49:9090 down; server 192.168.72.49:8080 weight=2; server 192.168.72.49:6060; server 192.168.72.49:7070 backup; }
1)down
表示單前的server暫時不參與負載
2)Weight
預設為1.weight越大,負載的權重就越大。
3)max_fails
允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream 模組定義的錯誤
4)fail_timeout
max_fails 次失敗後,暫停的時間。
5)Backup
其它所有的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。