第一種:輪詢nginx
upstream test{
server 192.168.0.1:3000;
server 192.168.0.1:3001;
}web
第二種:權重後端
upstream test{
server 192.168.0.1 weight=2;
server 192.168.0.2 weight=3;
}服務器
這種模式可解決服務器性能不等的狀況下輪詢比率的調配性能
第三種:ip_hashorm
upstream test{
ip_hash;
server 192.168.0.1;
server 192.168.0.2;
}server
這種模式會根據來源IP和後端配置來作hash分配,確保固定IP只訪問一個後端ip
第四種:fairutf-8
須要安裝Upstream Fair Balancer Module字符串
upstream test{
server 192.168.0.1;
server 192.168.0.2;
fair;
}
這種模式會根據後端服務的響應時間來分配,響應時間短的後端優先分配
第五種:自定義hash
須要安裝Upstream Hash Module
upstream test{
server 192.168.0.1;
server 192.168.0.2;
hash $request_uri;
}
這種模式能夠根據給定的字符串進行Hash分配
具體應用:
server{
listen 80;
server_name .test.com;
charset utf-8;
location / {
proxy_pass http://test/;
}
}
此外upstream每一個後端的可設置參數爲:
1.down: 表示此臺server暫時不參與負載。
2.weight: 默認爲1,weight越大,負載的權重就越大。
3.max_fails: 容許請求失敗的次數默認爲1.當超過最大次數時,返回proxy_next_upstream模塊定義的錯誤。
4.fail_timeout: max_fails次失敗後,暫停的時間。
5.backup: 其它全部的非backup機器down或者忙的時候,請求backup機器,應急措施。