負載均衡算法
文章目錄
- 負載均衡算法
- 一:常規負載均衡算法
- 二:Nginx負載均衡算法
一:常規負載均衡算法
二:Nginx負載均衡算法
# 定義負載均衡設備的Ip及設備狀態
upstream bakend {ip_hash; server 127.0.0.1:9090 down; server 127.0.0.1:8080 weight = 2; server 127.0.0.1:6060; server 127.0.0.1:7070 backup;
}
在需要使用負載均衡的server中增加
proxy_pass http://bakend/;
每個設備的狀態設置為:
- down:表示單前的server暫時不參與負載
- weight: 默認為1,weight越大,負載的權重就越大。
- max_fails: 允許請求失敗的次數默認為1.當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤
- fail_timeout:max_fails次失敗后,暫停的時間。
- backup:其它所有的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。
nginx支持同時設置多組的負載均衡,用來給不用的server來使用。
- client_body_in_file_only: 設置為On,可以講client post過來的數據記錄到文件中用來做debug。
- client_body_temp_path: 設置記錄文件的目錄,可以設置最多3層目錄。
- location: 對URL進行匹配,可以進行重定向或者進行新的代理,負載均衡