Nginx的负载均衡方案详解

Nginx的负载均衡方案详解

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

Nginx的负载均衡方案有:

1、轮询

轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器。

配置的例子如下:

  http{
    upstream sampleapp {
        server <<dns entry or IP Address(optional with port)>>;
        server <<another dns entry or IP Address(optional with port)>>;
    }
    ....
    server{
       listen 80;
       ...
       location / {
          proxy_pass http://sampleapp;
       }
    }

上面只有1个DNS入口被插入到upstream节,即sampleapp,同样也在后面的proxy_pass节重新提到。

2、最少连接

Web请求会被转发到连接数最少的服务器上。

配置的例子如下:

http{
    upstream sampleapp {
        least_conn;
        server <<dns entry or IP Address(optional with port)>>;
        server <<another dns entry or IP Address(optional with port)>>;
    }
    ....
    server{
       listen 80;
       ...
       location / {
          proxy_pass http://sampleapp;
       }
    }

上面的例子只是在upstream节添加了least_conn配置。其它的配置同轮询配置。

3、IP地址哈希

前述的两种负载均衡方案中,同一客户端连续的Web请求可能会被分发到不同的后端服务器进行处理,因此如果涉及到会话Session,那么会话会比较复杂。常见的是基于数据库的会话持久化。要克服上面的难题,可以使用基于IP地址哈希的负载均衡方案。这样的话,同一客户端连续的Web请求都会被分发到同一服务器进行处理。

配置的例子如下:

http{
    upstream sampleapp {
        ip_hash;
        server <<dns entry or IP Address(optional with port)>>;
        server <<another dns entry or IP Address(optional with port)>>;
    }
    ....
    server{
       listen 80;
       ...
       location / {
          proxy_pass http://sampleapp;
       }
    }

上面的例子只是在upstream节添加了ip_hash配置。其它的配置同轮询配置。

4、基于权重的负载均衡

基于权重的负载均衡即Weighted Load Balancing,这种方式下,我们可以配置Nginx把请求更多地分发到高配置的后端服务器上,把相对较少的请求分发到低配服务器。

配置的例子如下:

http{
    upstream sampleapp {
        server <<dns entry or IP Address(optional with port)>> weight=2;
        server <<another dns entry or IP Address(optional with port)>>;
    }
    ....
    server{
       listen 80;
       ...
       location / {
          proxy_pass http://sampleapp;
       }
  }

上面的例子在服务器地址和端口后weight=2的配置,这意味着,每接收到3个请求,前2个请求会被分发到第一个服务器,第3个请求会分发到第二个服务器,其它的配置同轮询配置。

还要说明一点,基于权重的负载均衡和基于IP地址哈希的负载均衡可以组合在一起使用。

时间: 2024-08-02 06:48:43

Nginx的负载均衡方案详解的相关文章

Nginx + Tomcat 负载均衡配置详解

Nginx作为反向代理服务器,实现负载均衡.首先浏览器发起请求,到达Nginx,由Nginx将请求地址转发给相应的tomcat服务器,再由tomcat服务器将结果返回给Nginx,Nginx将结果再转发给浏览器. 在这过程中,对于浏览器来说,并不知道后端的存在, 相对于Tomact来说,当前的客户端是Nginx服务器.这就完成了一个代理的过程. 首先准备三台Linux服务器:IP地址分别为 192.168.1.61  192.168.1.62  192.168.1.63 其中61安装nginx服

Centos 7基于DR(直接路由)模式的负载均衡配置详解

DR(直接路由)是三种负载均衡模式其中之一,也是使用最多的一种模式,关于该模式的介绍,可以参考博文:LVS负载均衡群集详解. DR的工作模式示意图如下: 该模式的原理已经在上面链接的博文中写了下来.现在直接搭建一个基于DR模式的负载均衡群集. 环境如下: 在上面这个环境中,需要解决的问题有下面几点: 1.所有web节点和调度器都配置上VIP:客户端访问VIP(群集的虚拟IP地址)时,若是 调度器将请求转发给web节点,然后由web节点直接去响应客户端,那么客户端在收到 数据包后,发现收到的数据包

nginx负载均衡配置详解

使用负载均衡的话,修改配置http节点如下: #设定http服务器,利用它的反向代理功能提供负载均衡支持http {     #设定mime类型,类型由mime.type文件定义     include             /etc/nginx/mime.types;     default_type    application/octet-stream;     #设定日志格式     access_log        /var/log/nginx/access.log;     #省

Nginx在linux服务器中配置负载均衡upstream详解

这篇文章的前提是已经配置好了NGINX,而且tomcat已经配置好了,而且能能够访问了. 这里介绍一台服务器(192.168.83.130),代理两个本机的tomcat(端口分别为:8080.8081),下面是安装后情况: nginx目录: tomcat目录: 首先在两个tomcat的/conf/server.xml里面分别配置端口如下: 分别重启待用. 然后在nginx的/conf/nginx.conf下设置如下: 设置完成后重启nginx. 浏览器输入主机ip:http://192.168.

Tomcat负载均衡原理详解及配置

结构图 使用Tomcat的童鞋们注意了.为了增加tomcat的性能和稳定性,我们一般采用balance和session同步机制. 下图列出了我们常用也是最简单的解决方案. 说明 1 balance 负载均衡我们一般采用Apache proxy和Apache+mod_jk方式 所使用软件:Apache2.2.19 http://httpd.apache.org/download.cgi#apache22; Tomcat7          http://tomcat.apache.org/down

centos 7部署Tomcat及其负载均衡配置详解

Tomcat服务器是一个免费的开源web应用服务器,属于轻量级应用服务器,在中小型系统和并发用户不是很多的场合中被普遍使用,是开发和测试JSP程序的首选.一般来说,Tomcat虽然和apache或者Nginx这些web服务器一样,具有处理HTML页面的功能,然而由于其处理静态页面的能力远不如apache或者Nginx,所以Tomcat一般是作为一个servlet和JSP容器,单独运行在后端,Tomcat应用场景如下: 用户访问的永远是apache/Nginx服务器,然后由apache/Nginx

haproxy负载均衡代理服务详解

一.HAProxy概述 1.haproxy简介 HAProxy主要提供两个功能:http协议反向代理(不提供缓存功能).基于tcp层的负载均衡(如https.mysql协议).适用于需要会话保持或七层处理的且负载特别大的站点.可支持数以万计的并发连接. 代理作用:web缓存(加速).反向代理.内容路由(根据流量及内容类型等将请求转发至特定服务器).转码器: HAProxy基于一种事件驱动(event-driven).单一进程模型和ebtree弹性二叉树机制. 多进程或多线程模型受内存限制.系统调

CentOS下LVS DR模式负载均衡配置详解

一安装LVS准备: 1.准备4台Centos 6.2 x86_64 注:本实验关闭 SELinux和IPtables防火墙. 管理IP地址 角色 备注 192.168.1.101 LVS主调度器(Master Director) 对外提供服务的VIP为192.168.1.180 192.168.1.114 LVS从调度器(Backup Director) 平时可以作为RS(真实服务器使用) 192.168.1.104 RS1(真实服务器)   192.168.1.103 RS2(真实服务器)  

LVS负载均衡使用详解

一.基本概览介绍 二.LVS的类型及原理 三.LVS调度算法 四.利用DR及NAT实现web负载均衡 一.基本概览介绍 LVS是一个工作在传输层面上的一个负载均衡软件,它是由用户空间的ipvsadm和内核空间的ipvs两个组件组成.其中ipvsadm是用户空间的命令行工具,主要是用于管理集群服务及集群服务上的RS.ipvs是工作与内核上的netfilter的INPUT链上的程序,可以根据用户事先定义的集群实现转发. 二.LVS的类型及原理 LVS的类型可以分为:NAT.DR.TUN.FULLNA