Nginx-负载均衡

轮询

配置语法:
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

相关推荐