Nginx教程系列五:实现负载均衡配置

1. 案例

1.1 环境准备

  • Nginx
  • 2个tomcat实例:8080、8081

1.2 实现效果

访问服务器9002端口,依次请求2个tomcat实例

在这里插入图片描述

1.3 修改Nginx配置文件

upstream myserver {
    
    
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
}

server {
    
    
    listen  9002;
    server_name    192.168.25.131;

    location / {
    
    
        proxy_pass  http://myserver;
    }
}
  • 在http块内部增加upstream,配置负载均衡的服务列表
  • proxy_pass 改成 upstream 配置的名称 myserver 即可

1.4 测试

浏览器访问 http://192.168.25.131:9002/first/a.html,第一次输出8080
在这里插入图片描述

刷新后输出8081
在这里插入图片描述
再刷新又变成8080

2. 负载均衡策略对比

2.1 轮询

轮询是Nginx默认的负载均衡策略,顾名思义,所有请求依次按顺序分配到不同的服务。上面我们做的案例,就是轮询。

2.2 权重

指定每个服务的分配比例,我们把上面的配置修改一下

upstream myserver {
    
    
    server 127.0.0.1:8080 weight=2;
    server 127.0.0.1:8081 weight=1;
}
  • 8080配置weight=2
  • 8081配置weight=1
  • 因此,8080的分配请求数是8081的2倍
  • 最终请求顺序是这样的:8080, 8080, 8081, 8080, 8080, 8081…

2.3 iphash

每个请求根据访问 ip 的 hash 结果分配,因此,同一个来源 ip 将分配到固定的服务上。配置方式如下:

upstream myserver {
    
    
    ip_hash;
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
}

2.4 fair

按后端服务器的响应时间来分配请求,响应时间越短,分配的请求越多

upstream myserver {
    
    
    fair;
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
}

猜你喜欢

转载自blog.csdn.net/qq_28834355/article/details/109087393
今日推荐