Nginx的负载均衡策略

个人博客地址: https://note.raokun.top 拥抱ChatGPT,国内访问网站:https://www.playchat.top

共六种: 轮询、权重、ip_hash、least_conn、fair、url_hash

1、轮询(Round Robin)负载均衡策略:这是一种基本的负载均衡策略,将请求顺序转发给每个后端服务器,每个后端服务器依次处理请求,而轮询正是按照这样的方式平均地为每个后端服务器分配请求。

http {
upstream backend {
  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com;
}

server {
  listen 80;
  server_name example.com;

  location / {
     proxy_pass http://backend;
  }
}

}

  

2、权重(Weight)负载均衡策略:通过为每个后端服务器分配不同的权重,将请求按照权重比例分配到不同的后端服务器,以实现负载均衡。例如,如果后端服务器A的权重是3,后端服务器B的权重是2,则在处理请求时,服务器A会收到3/(3+2)=60%的请求,而服务器B会收到 2/(3+2)=40%的请求。

http {
upstream backend {
  server backend1.example.com weight=5;
  server backend2.example.com weight=10;
  server backend3.example.com weight=5;
}

server {
  listen 80;
  server_name example.com;

  location / {
     proxy_pass http://backend;
  }
}
}

  

3、IP散列(ip_hash)负载均衡策略:使用客户端的IP地址来计算散列值,将同一个IP地址的请求发送到同一个后端服务器上,以实现会话保持(Session Persistence)。

http {
upstream backend {
  ip_hash;

  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com;
}

server {
  listen 80;
  server_name example.com;

  location / {
     proxy_pass http://backend;
  }
}

}

  

4、最少连接数(least_conn)负载均衡策略:将请求发送到当前连接数最少的后端服务器上,以达到最优的负载均衡效果。

http {
upstream backend {
  least_conn;

  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com;
}

server {
  listen 80;
  server_name example.com;

  location / {
     proxy_pass http://backend;
  }
}

}  

  

5、公平(fair)负载均衡策略:将请求基于当前后端服务器的处理速度,将请求发送到当前处理速度最快的后端服务器上,以充分利用服务器资源并提高响应速度。

http {
upstream backend {
 server backend1.example.com;
 server backend2.example.com;
fair;
}

server {
 listen 80;
 location / {
   proxy_pass http://backend;
}
}
}  

  

6、URL散列(url_hash)负载均衡策略:使用客户端请求中的URL地址计算散列值,并将同一个URL地址的请求发送到同一个后端服务器上,以实现会话保持(Session Persistence)和动态负载均衡(Dynamic Load Balancing)功能。

http {
upstream backend {
 server backend1.example.com;
 server backend2.example.com;
 hash $request_uri;
 hash_method crc32;
}

server {
 listen 80;
 location / {
   proxy_pass http://backend;
}
}
}

  

Nginx的负载均衡策略的更多相关文章

  1. Nginx专题(2):Nginx的负载均衡策略及其配置

    本文介绍了Nginx的负载均衡策略,一致性hash分配原理,及常用的故障节点的摘除与恢复配置. 文章来源:宜信技术学院 & 宜信支付结算团队技术分享第一期-宜信支付结算八方数据团队高级技术经理 ...

  2. nginx+tomcat负载均衡策略

    測试环境均为本地,測试软件为: nginx-1.6.0,apache-tomcat-7.0.42-1.apache-tomcat-7.0.42-2.apache-tomcat-7.0.42-3 利用n ...

  3. Nginx多种负载均衡策略搭建

    背景介绍 上篇介绍了利用Nginx反向代理实现负载均衡,本文详细讲述Nginx下的几种负载均衡策略. 轮询 轮询,顾名思义,就是轮流请求,基于上篇文章的介绍,我们将负载均衡策略聚焦于default.c ...

  4. [日常] nginx与负载均衡策略

    upstream mail.sina.net { #upstream的负载均衡,weight是权重,可以根据机器配置定义权重.weigth参数表示权值,权值越高被分配到的几率越大. server we ...

  5. 解析 Nginx 负载均衡策略

    转载:https://www.cnblogs.com/wpjamer/articles/6443332.html 1 前言 随着网站负载的不断增加,负载均衡(load balance)已不是陌生话题. ...

  6. 【Nginx】负载均衡-加权轮询策略剖析

    转自:江南烟雨 本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别. 如果Nginx是以反向代理的形式配置运行,那么对请求的实际处理需要转发到后端服 ...

  7. [转载] nginx的负载均衡

    原文:http://www.srhang.me/blog/2014/08/27/nginx-loabbalance/ Nginx负载均衡 一.特点 1.1 应用情况 Nginx做为一个强大的Web服务 ...

  8. NginX——配置负载均衡

    A.            在http模块加上upstream配置 upstream www.myweb.com { server  127.0.0.1:9100 weight=3; server  ...

  9. nginx 负载均衡策略

    nginx 负载均衡策略   1. 轮询轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如:upstream backend {server backend1.e ...

  10. Nginx服务器之负载均衡策略(6种)

    一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器.详情请查看我的另一篇博客. 二.Ng ...

随机推荐

  1. VUE项目中检测网页滑动注意事项

    一.this.$nextTick(function () {             window.addEventListener('scroll', this.onScroll, true)   ...

  2. WCF使用post 提交

    [OperationContract] [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFor ...

  3. GreenPlum tidb 性能比较

    主要的需求 针对大体量表的OLAP统计查询,需要找到一个稳定,高性能的大数据数据库,具体使用 数据可以实时的写入和查询,并发的tps不是很高 建立数据仓库,模式上主要采用星星模型.雪花模型,或者宽表 ...

  4. pip install keras==2.0.3 -i https://pypi.tuna.tsinghua.edu.cn/simple

    pip install keras==2.0.3 -i https://pypi.tuna.tsinghua.edu.cn/simple

  5. JSTl_概述和JSTL_常用便签if

    概念: JavaServer Pages Tag Library JSP 标准标签片*是由 Apache 组织提俱的开源的免费的 jsp 标签 <标签> 作用:用于简化和替换 jsp 页面 ...

  6. ffmpeg gcc is unable to create an executable file C compiler test failed

    ffmpeg 编译出现 #sudo ./configure --enable-shared --prefix=/usr/local/ffmpeg gcc is unable to create an ...

  7. Conda简单教程 - 搬运

    Conda简单教程 转自:https://www.cnblogs.com/nuccch/p/15046969.html 目录 什么是Conda 安装Conda 虚拟环境管理 模块管理 何时使用Cond ...

  8. enobj.cn站有更新

    1:整体样式 2:可以折叠app列表 3:手机端样式 4: Blog链接到博客园

  9. STM32上特殊管脚应用 重映射那个GPIO_Remap_SWJ_JTAGDisable

    对于初学习者来说为什么用到PB3和PB4时无法控制输出呢? 下面就这一问题进行分析讲解. 首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能 ...

  10. vim指令大全

    Linux vi种 wq .wq!.x.q.q!区别   上面的命令只是在vi编辑命令中使用 wq:表示保存退出 wq!:表示强制保存退出 x:表示保存退出 wq和wq!的区别如下: 有些文件设置了只 ...