`
langgufu
  • 浏览: 2303501 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Nginx负载均衡的4种方案配置实例(转)

阅读更多

1、轮询

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

1
2
3
4
5
6
7
8
9
10
11
12
13
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请求会被转发到连接数最少的服务器上。
配置的例子如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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请求都会被分发到同一服务器进行处理。
配置的例子如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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把请求更多地分发到高配置的后端服务器上,把相对较少的请求分发到低配服务器。
配置的例子如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
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地址哈希的负载均衡可以组合在一起使用。

分享到:
评论

相关推荐

    Nginx负载均衡的4种方案配置实例

    轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器。 配置的例子如下: http{ upstream sampleapp { server &lt;&lt;dns&gt;&gt;; server &lt;&lt;another&gt;&gt;; } .... server{ ...

    nginx负载均衡教程

    #### 三、Nginx负载均衡配置示例 根据提供的部分内容,我们详细解析如何配置Nginx进行负载均衡: ##### 1. 单独使用一台Nginx做负载均衡 **配置文件示例**: ```nginx upstream local_tomcat { ip_hash; ...

    keeplive+nginx负载均衡解决方案

    Nginx是一款高性能的反向代理服务器和负载均衡器,它可以根据配置的策略将请求分发到不同的后端服务器。在这个配置中,我们有两个Nginx服务器,一个作为主服务器(master),另一个作为从服务器(slave)。它们都...

    Keepalived+Nginx实现高可用Web负载均衡

    其中一种常见的方案是使用Keepalived与Nginx结合实现Web服务的负载均衡及高可用性。 #### Keepalived简介 Keepalived是一种基于VRRP协议的高性能服务器高可用性解决方案。它能够检测服务器故障并在出现故障时快速...

    Nginx负载均衡集群配置文档

    在构建高性能、高可用性的Web服务时,Nginx作为一款强大的反向代理服务器和负载均衡器,常常被用于构建Linux环境下的集群解决方案。本文档将深入探讨如何配置Nginx来实现对Tomcat应用服务器的负载均衡,以提高系统的...

    nginx负载均衡配置

    ### Nginx负载均衡配置详解 #### 一、前言 Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 Nginx 的...

    2.nginx.conf的配置(负载均衡的配置)和tomcat(session共享).doc

    【Nginx负载均衡配置】 在互联网高并发的环境下,单台服务器往往无法满足大量用户的访问需求,此时就需要采用负载均衡技术。Nginx作为一款高性能的反向代理服务器,常用于实现软负载均衡,其配置简单且成本低廉。...

    nginx+tomcat7负载均衡+redis缓存session

    在构建高性能、高可用性...总结来说,"nginx+tomcat7负载均衡+redis缓存session"的架构是一种强大的解决方案,适用于需要高可用性、可扩展性和高性能的Java Web应用。通过合理配置和优化,可以满足复杂业务场景的需求。

    Nginx+Apache负载均衡

    - **高性能负载均衡**:Nginx+Apache 组合提供了一个高性能、低成本的负载均衡解决方案,能够显著提高网站性能和服务可用性。 - **易于配置与管理**:相比昂贵的商用硬件负载均衡器,Nginx 的配置更加简单直观。 - *...

    Nginx+tomcat配置集群负载均衡

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"**Nginx+Tomcat配置集群负载均衡**"就是实现这一目标的一种常见方案。Nginx是一款高性能的反向代理服务器,常用于处理静态资源和进行负载均衡;Tomcat则是...

    nginx+tomcat+redis负载均衡所需jar及nginx、redis文件及说明文档

    这个压缩包提供的资源将帮助你快速搭建一个基于`Nginx+Tomcat+Redis`的负载均衡和会话共享环境,对于大型、高流量的Web应用来说,这是一个常见的且高效的解决方案。通过深入理解和熟练配置这些组件,你可以为你的Web...

    nginx+keepalived实现高可用负载均衡方案.pdf

    在此方案中,Nginx扮演Web服务器和负载均衡器的角色,而Keepalived则用于提供高可用性支持。以下是相关知识点的详细说明: 1. Nginx简介: Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器...

    windows 负载均衡 Tomcat 8.5 Nginx 1.12.2

    配置Nginx负载均衡的具体步骤如下: 1. **安装Nginx**:在Windows上下载并安装Nginx 1.12.2的二进制包,按照官方文档进行配置。 2. **配置Nginx服务器块**:在nginx.conf配置文件中,创建一个新的服务器块,定义...

    Windows+Nginx+Tomcat做负载均衡同时实现session共享Demo2

    这里我们关注的是如何在Windows环境下,利用Nginx作为反向代理服务器,与Tomcat应用服务器集群配合,实现负载均衡,并且确保Session数据在多个Tomcat实例之间共享。这个场景对于大型网站或高并发的应用尤其实用,...

    nginx+tomcat在windows下做负载均衡

    Nginx以其高性能、轻量级和易于配置的特点,成为了许多负载均衡解决方案的首选。它可以处理大量的并发连接(可达50,000),远高于Tomcat的300-500并发数。因此,通过1:100的比例配置Nginx和Tomcat,可以有效缓解网站...

    Nginx轻松实现开源负载均衡

    **Nginx负载均衡的应用实例** 1. **Nginx+Keepalived**:通过结合Keepalived,可以实现Nginx负载均衡器的双机热备,当一台服务器出现故障时,虚拟IP会自动切换到另一台正常运行的服务器上,保证服务连续性。 2. **...

    Nginx+Tomcat高性能负载均衡集群搭建(模板).zip

    2. **配置负载均衡**: 在Nginx的配置文件`nginx.conf`或其包含的虚拟主机配置文件中,添加负载均衡配置。例如,使用轮询策略(round-robin): ```nginx upstream tomcat_cluster { server tomcat1.example....

    Keepalived+Nginx实现Web负载均衡

    3. **软件方式实现高可用或负载均衡**:利用开源软件如 Keepalived、LVS 等构建低成本但高效的负载均衡方案。 本篇主要介绍如何使用 Keepalived 和 Nginx 构建一个简单而强大的 Web 负载均衡系统。 #### 二、...

Global site tag (gtag.js) - Google Analytics