当前位置: 首页 > news >正文

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; 
}    

5. fair

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

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

相关文章:

  • CSP-J基础之进制转换
  • c++递推
  • 算法训练营——day4螺旋矩阵
  • mybatisplus查询指定字段
  • Nginx 负载均衡+高可用 集群部署(Keepalived+LVS DR模式)
  • MongoDB基本语法
  • PowerShell脚本编写:自动化Windows开发工作流程实例介绍
  • Python 中考虑 concurrent.futures 实现真正的并行计算
  • C++学习笔记(8)
  • 【Unity-Lua】音乐播放器循环滚动播放音乐名
  • 【SpringBoot】使用Nacos服务注册发现与配置管理
  • MySQL库的操作
  • C++入门(04)命令行窗口
  • Golang | Leetcode Golang题解之第393题UTF-8编码验证
  • c语言和c++的区别
  • 网络编程之-UDP详解
  • 什么是 Java?Java 的主要特点有哪些?
  • 【WPF】WPF学习之【二】布局学习
  • leetcode 23.合并k个升序链表
  • JVM系列(十) -垃圾收集器介绍
  • 上海消防全面推行“检查码”,会同相关部门推行“综合查一次”
  • 夜读丨古代有没有近视眼?
  • 国家主席习近平同普京总统举行小范围会谈
  • 巴基斯坦军方:印度导弹袭击已造成至少3人死亡
  • 言短意长|党政主官如何塑造流量城市?
  • 宋涛就许历农逝世向其家属致唁电