Nginx负载均衡算法

负载均衡用来解决用户请求到来时如何选择 upstream server 进行处理,这里主要介绍几种负载均衡算法。
1、round-robin:轮询,默认负载均衡算法,即以轮询的方式将请求转发到上游服务器,通过配合weight配置可以实现基于权重的轮询。

upstream bakend {
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=1;
}

2、weight:权重,weight用来配置权重,默认都是1,权重越高分配给这台服务器的请求就越多,需要根据服务器实际处理能力设置权重。

upstream bakend {
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}

3、ip_hash:根据客户IP进行负载均衡,即相同的IP将负载均衡到同一个upstream server。

upstream bakend {
ip_hash;
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}

4、hash key:对某一个key进行哈希或者使用一致性哈希算法进行负载均衡。

  • 哈希算法:此处是根据请求uri进行负载均衡。
upstream bakend {
hash $uri;
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}
  • 一致性哈希算法:consistent_key 动态指定。
upstream bakend {
hash $consistent_key consistent;
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}

5、least_conn:将请求负载均衡到最少活跃连接的上游服务器。如果配置的服务器较少,则将转而使用基于权重的轮询算法。

upstream bakend {
least_conn;
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}
(0)

相关推荐

  • 反向代理之负载均衡

    负载均衡: 一听这词很多小伙伴吓坏了,前人就喜欢搞一些看起来很高大上的词,好让后生望而敬畏.那我们一起来捋一捋. 负载就是负担. 均衡就是平均分.这样 一说就是负担平均分. 服务器也要减减压 我们都知 ...

  • Linux学习10-CentOS搭建nginx负载均衡环境

    前言 当自己的web网站访问的人越来越多,一台服务器无法满足现有的业务时,此时会想到多加几台服务器来实现负载均衡. 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,怎样将同一个域名的访问分散 ...

  • 前端技术分享:Nginx负载均衡视频,基础的实战应用

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行.其特点是占有内存少,并发处理能力强,以高性能低资源消耗而闻名,国内 ...

  • Nginx负载均衡配置误区

    之前有很多朋友问关于Nginx的upstream模块中max_fails及fail_timeout,这两个指令,分别是配置关于负载均衡过程中,对于上游(后端)服务器的失败尝试次数和不可用时间,很多人不 ...

  • 解析Nginx负载均衡

    摘要:对于一个大型网站来说,负载均衡是永恒的话题.随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP.Citrix NetScaler.Radware等等,虽然可以解决问 ...

  • nginx负载均衡简单写法

    用nginx反向代理,把80端口的/a请求随机分到group1的站点,weight=1配置权重.

  • LNMP集群nginx负载均衡和会话保持

    前期准备 server1 172.25.70.11 server2 172.25.70.12 server1 配置jdk和tomcat tar zxf jdk-7u79-linux-x64.tar.g ...

  • 【学习笔记】基于OpenFlow的数据中心网络负载均衡算法

    2016年电子技术应用第5期 作者:董宏成,郑飞毅 0 引言 近年来,数据中心呈现爆炸式的急速发展,大量公司开始建立自己的大型互联网数据中心(Internet Data Center,IDC).云计算 ...

  • 实现ASP.Net Core3.1运行在DockeDesktop下并用Nginx实现负载均衡

    一.首先去https://www.docker.com/products/docker-desktop下载Windows版本的Docker Desktop并安装(需要win10专业版以上操作系统,并启 ...

  • Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作

    这篇文章主要介绍了Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧下载Tomcat8镜像12345[root@l ...