一、 位置
负载均衡模块是upstream ,和server同级,拿http来举例
http {
upstream myapp1 {
}
server {
}
}
二、负载均衡策略和常用配置
1. 轮询
http {
upstream myapp1 {
server server1.com weight=1;
server server2.com:8000 weight=3;
server 192.168.101.100:8001 weight=6;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
}
- upstream :定义模块,用于定义转发分配规则,上面面是三种支持方式。
- weight:表示权重,不填写表示公平均衡的请求,填写weigh后,根据
当前值/所有数值之和得到请求几率
。上面三种权重,从上到下的请求比例依次为0.1,0.3,0.6 - myapp1:表示当前规则的名称,可以配置多个,通过server选择性使用
2. 最少链接
http {
upstream myapp1 {
least_conn;
server server1.com;
server server2.com:80003;
server 192.168.101.100:8001;
}
}
把请求分给连接数最少的服务器
3. hash
http {
upstream myapp1 {
ip_hash;
server server1.com;
server server2.com:80003;
server 192.168.101.100:8001;
}
}
表示每个请求固定访问某个服务