nginx配置负载均衡的几种方式

1,轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器

down掉,能自动剔除。

    # 反向代理配置
    upstream server_list{
       # 这个是tomcat的访问路径
       server localhost:8080;
       server localhost:9999;
    }
    server {
            listen       80;
            server_name  localhost;
    
            location / {
                root   html;
                proxy_pass http://server_list;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }

2,weight 权重

weight 代表权重,默认为1,权重越高被分配的客户端越多

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如

# 反向代理配置
upstream server_list{
# 这个是tomcat的访问路径
server localhost:8080 weight=5;
server localhost:9999 weight=1;
}

3,ip_hash

每个请求按访问ip的hash值分配,这样每个访问客户端会固定访问一个后端服务器,可以解决会话Session丢失的问题,不管刷新多少遍,始终访问的是同一台tomcat服务器

upstream backserver { 
        ip_hash; 
        server 127.0.0.1:8080; 
        server 127.0.0.1:9090; 
}

4,最少连接

web请求会被转发到连接数最少的服务器上

upstream backserver { 
    least_conn;
    server 127.0.0.1:8080; 
    server 127.0.0.1:9090; 
}    
  1. fair

按后端服务器的响应时间来分配,响应时间越短越优先分配

upstream backserver { 
    server 127.0.0.1:8080; 
    server 127.0.0.1:9090; 
    fair;
}    
相关推荐
denglei.7 小时前
在Nginx部署Web应用,如何保障后端API的安全
nginx·安全
苹果醋310 小时前
React系列(八)——React进阶知识点拓展
运维·vue.js·spring boot·nginx·课程设计
我要出家当道士10 小时前
Nginx单向链表 ngx_list_t
数据结构·nginx·链表·c
fat house cat_12 小时前
Linux环境下使用tomcat+nginx部署若依项目
linux·nginx·tomcat
꧁༺朝花夕逝༻꧂14 小时前
nginx-代理服务
运维·服务器·nginx
Smile_Gently14 小时前
Ubuntu环境 nginx.conf详解(二)
运维·服务器·前端·nginx·ubuntu
weixin_4495687015 小时前
Nginx区分PC端和移动端访问
运维·nginx
Anna_Tong15 小时前
全局流量管理:提升用户体验与保障服务稳定性
运维·服务器·网络·数据库·安全·负载均衡
记得开心一点嘛17 小时前
Nginx与Tomcat之间的关系
java·nginx·tomcat
ascarl201018 小时前
【Nginx系列】---Nginx配置tcp转发
运维·tcp/ip·nginx