轮询
配置语法:
Syntax: upstream name {...}
Default: -
Context http
Syntax: server address [parameters];
Default: -
Context: upstream
{
upstream imooc {
server 192.168.8.1:8081;
server 192.168.8.1:8082;
server 192.168.8.1:8083;
}
// 轮询使用3个 server。
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://xxx;
include proxy_params;
}
...
}
}
upstream 参数 | 说明 |
---|
down | 当前的 erver 暂时不参与负载均衡 |
backup | 预留的备份服务器 |
max_fails | 允许请求失败的次数 |
fail_timeout | 经过 max_fails 失败后,服务暂停时间 |
max_conns | 限制最大的接收的连接数。 |
调度算法
方法 | 说明 |
---|
轮询 | 按时间顺序注意分配到不同的后端服务器 |
加权轮询 | weight 值越大,分配到的访问几率越高。 |
ip_hash | 每个请求按访问 IP 的 hash 结果分配,这样来自同一个 IP 的固定访问一个后端服务器。 |
url_hash | 每个请求按访问 URL 的 hash 结果分配,这样来自同一个 IP 的固定访问一个后端服务器。 |
least_conn | 最少连接数,那个机器连接数少就分发 |
hash 关键数值 | hash 自定义的 key |