nginx浅析3-负载均衡

Posted 哈娄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx浅析3-负载均衡相关的知识,希望对你有一定的参考价值。

负载均衡:在服务集群中,需要有一台服务器作为调度者, 客户端所有请求都由调度者接受,调度者再根据每台服务的负载情况,分配给指定服务器进行处理。

负载均衡几种配置

  • weight权重
  • iphash

1.权重方法配置

    weight权重比例,访问次数比例是3:1

http {
    upstream halou2 {
        server 127.0.0.1:7003 weight=3;
        server 127.0.0.1:7004 weight=1;
    }
    server {
        listen 80; // 服务默认端口值
        server_name  localhost; // 访问server名称
        location /test.html {
            root    html;
            // 转发到halou组群, 优先级高于nginx,下面的index不会再执行了
            proxy_pass    http://halou2;
            index    index.html index.htm;
        }
    }
}

2.iphash方法配置 

    根据 访客的机器ip来固定的访问一个服务器

http {
    upstream halou2 {
        ip_hash;
        server 127.0.0.1:7003;
        server 127.0.0.1:7004;
    }
    server {
        listen 80; // 服务默认端口值
        server_name  localhost; // 访问server名称
        location /test.html {
            root    html;
            // 转发到halou组群, 优先级高于nginx,下面的index不会再执行了
            proxy_pass    http://halou2;
            index    index.html index.htm;
        }
    }
}

3.least_conn 最少连接数配置

哪个服务连接数少,就会访问哪个。需要 安装插件 来帮助我们实现

http {
    upstream halou2 {
        least_conn;
        server 127.0.0.1:7003;
        server 127.0.0.1:7004;
    }
    server {
        listen 80; // 服务默认端口值
        server_name  localhost; // 访问server名称
        location /test.html {
            root    html;
            // 转发到halou组群, 优先级高于nginx,下面的index不会再执行了
            proxy_pass    http://halou2;
            index    index.html index.htm;
        }
    }
}

4.fair根据后端响应时间配置

哪个响应时间快,优先访问哪个

http {
    upstream halou2 {
        server 127.0.0.1:7003;
        server 127.0.0.1:7004;
        fair;
    }
    server {
        listen 80; // 服务默认端口值
        server_name  localhost; // 访问server名称
        location /test.html {
            root    html;
            // 转发到halou组群, 优先级高于nginx,下面的index不会再执行了
            proxy_pass    http://halou2;
            index    index.html index.htm;
        }
    }
}

以上是关于nginx浅析3-负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

nginx如何做到TCP的负载均衡

nginx如何做到TCP的负载均衡

Nginx——nginx作为负载均衡服务(负载均衡示例)

nginx--❤️图解及代码实现正向代理反向代理及负载均衡(非常实用,建议收藏❤️)

奇云VPC网络负载均衡服务的实现浅析

nginx浅析1-模块配置简介