nginx upstream 6种负载均衡策略介绍

upstream参数

参数 描述
service 反向服务地址加端口
weight 权重
max_fails 失败多少次,认为主机已经挂掉,踢出
fail_timeout 踢出后重新探测时间
backup 备用服务
max_conns 允许最大连接数
slow_start 当节点恢复,不立即加入

负载均衡策略

轮询(默认)

每个请求会按照时间逐一分配到不同的后端服务器上

upstream test {
    server 192.168.1.10:8080;
    server 192.168.1.11:8080;
}

也就是说我的第一个请求会落在10服务上,第二个会落在11,第三个10,第四个11…

权重

权重越大,访问的几率就越大

如果服务器处理性能有差异,可以降性能好的,权重大一点;处理性能低的权重小一点。

upstream test {
    server 192.168.1.10:8080 weight=7;
    server 192.168.1.11:8080 weight=3;
}
ip_hash

每个请求按访问的iphash结果分配,这样每台服务器固定一个后端服务

upstream test {
    ip_hash;
    server 192.168.1.10:8080;
    server 192.168.1.11:8080;
}

这个一般用于session数据的保存,因为服务之间不能切换,不然切换服务后session会失效,固定后端服务,保证session不丢失。

least_conn最少连接

把连接转发到较少的后端服器上

upstream test {
    least_conn;
    server 192.168.1.10:8080;
    server 192.168.1.11:8080;
}
fair

公平地按照后端服务器的响应时间(rt)来分配请求,响应时间(rt)小的后端服务器优先分配请求。

upstream test {
    fair;
    server 192.168.1.10:8080;
    server 192.168.1.11:8080;
}
url_hash

与 ip_hash类似,但是按照访问 url 的 hash 结果来分配请求,使得每个 url 定向到同一个后端服务器,主要应用于后端服务器为缓存的场景下。

upstream test {
    hash $request_uri;
    #指定hash算法
    hash_method crc32;
    server 192.168.1.10:8080;
    server 192.168.1.11:8080;
}

相关推荐

  1. nginx upstream 6负载均衡策略介绍

    2023-12-23 00:50:01       53 阅读
  2. nginx负载均衡策略

    2023-12-23 00:50:01       36 阅读
  3. 13-Ribbon-负载均衡策略

    2023-12-23 00:50:01       37 阅读
  4. 修改默认负载均衡策略(Ribbon)

    2023-12-23 00:50:01       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-23 00:50:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-23 00:50:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-23 00:50:01       82 阅读
  4. Python语言-面向对象

    2023-12-23 00:50:01       91 阅读

热门阅读

  1. Android开发中实时语音开发之华为实时语音识别

    2023-12-23 00:50:01       64 阅读
  2. npm的使用技巧

    2023-12-23 00:50:01       52 阅读
  3. 基于MATLAB的模板匹配实现英文字母识别

    2023-12-23 00:50:01       56 阅读
  4. 做开发死路一条?一名五年全栈的看法

    2023-12-23 00:50:01       62 阅读
  5. junit-mock-controller

    2023-12-23 00:50:01       60 阅读
  6. Linux环境下通过journal命令查看和管理日志

    2023-12-23 00:50:01       60 阅读
  7. 基于粒子群算法的抽水蓄能电站优化调度研究

    2023-12-23 00:50:01       57 阅读
  8. C语言—每日选择题—Day61

    2023-12-23 00:50:01       56 阅读
  9. docker资源限制

    2023-12-23 00:50:01       60 阅读