一拦止、負(fù)載均衡:
1县遣、輪詢(默認(rèn))
每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉汹族,能自動(dòng)剔除萧求,剩下的繼續(xù)輪詢。
2.權(quán)重 (weight)
指定輪詢幾率鞠抑,weight和訪問比率成正比饭聚,用于后端服務(wù)器性能不均的情況。
upstream backend{
server 192.168.25.74:5000 weight=1;
server 192.168.25.218:5000 weight=1;
}
3.ip_哈希算法(ip_hash)
每個(gè)請(qǐng)求按訪問ip的hash結(jié)果分配搁拙,這樣每個(gè)訪客固定訪問一個(gè)應(yīng)用服務(wù)器秒梳,可以解決session共享的問題。
注:ip_hash和weight不能共用
upstream backend{
ip_hash;
server 192.168.25.74:5000;
server 192.168.25.218:5000;
}
4.fair(第三方)
這個(gè)fair表示的是按照服務(wù)器響應(yīng)時(shí)間的長短來進(jìn)行分發(fā)的箕速,服務(wù)器響應(yīng)時(shí)間越短的酪碘,優(yōu)先分發(fā)。
upstream backend{
server 192.168.25.74:5000;
server 192.168.25.218:5000;
fair;
}
二盐茎、用nginx搭建負(fù)載均衡
192.168.25.83 #nginx負(fù)載均衡服務(wù)器
192.168.25.74 #服務(wù)器
192.168.25.218 #服務(wù)器
1.服務(wù)器運(yùn)行程序(192.168.25.218兴垦、192.168.25.74)(為了看出效果,兩個(gè)Python項(xiàng)目返回服務(wù)器的地址218字柠、74)
apt-get install python-pip #安裝pip
pip install flask #pip引入flask
#192.168.25.74服務(wù)器運(yùn)行的Python程序
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "hello_74"
if __name__ == '__main__':
app.run(debug=True,host='0.0.0.0');
#192.168.25.218服務(wù)器運(yùn)行的Python程序
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "hello_218"
if __name__ == '__main__':
app.run(debug=True,host='0.0.0.0');
2.安裝nginx(192.168.25.83 執(zhí)行)
apt-get update
apt-get install nginx -y
3.配置nginx.conf探越,進(jìn)到/etc/nginx目錄(192.168.25.83 執(zhí)行)。
vim /etc/nginx/nginx.conf
4.配置Nginx的負(fù)載均衡與分發(fā)策略(192.168.25.83 執(zhí)行)
#通過在upstream參數(shù)中添加的應(yīng)用服務(wù)器IP后添加指定參數(shù)即可實(shí)現(xiàn)
upstream backend{
server 192.168.25.74:5000;
server 192.168.25.218:5000;
}
server{
listen 81;
location / {
proxy_pass http://backend;
}
}
5.啟動(dòng)nginx
/etc/init.d/nginx start
或
/usr/sbin/nginx -c /etc/nginx/nginx.conf
6.瀏覽器訪問nginx窑业,查看是否成功钦幔。
http://192.168.25.83:81/
6.nginx負(fù)載均衡搭建成功~~~
本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!