当前位置: 首页 > 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系列(十) -垃圾收集器介绍
  • 王毅会见俄罗斯外长拉夫罗夫
  • 日月谭天丨赖清德强推“脱中入北”是把台湾带向死路
  • “一对一讨论诸多事宜”,泽连斯基披露此次特泽会更多细节
  • 四川甘孜州白玉县发生4.9级地震,震源深度10千米
  • 从“高阶智驾”到“辅助驾驶”,上海车展上的“智驾”宣发变调
  • 欢迎回家!日本和歌山县4只大熊猫将于6月底送返中国