Nginx负载均衡

Stella981
• 阅读 653

前面我们说了反向代理,例子中用的是,两个请求请求同一个ip地址和端口,然后Nginx来根据域名调用不同的tomcat来进行请求处理及响应。

反向代理主要说的是:不同的请求 请求同一个Nginx服务器,Nginx服务器来决定由那个真正的业务服务器(eg:tomcat)处理某个请求。

下面说负载均衡

负载均衡一般是指,针对同一个(域名的)请求发送很多次,同时当后台有多个具有相同代码的真正的业务服务器工作时,由Nginx来将多次(或同时多个)的相同请求均匀的转发给待命的多个业务服务器,用以减轻单台服务器的压力,合理利用资源,提高响应速度。

Nginx负载均衡

比如我们一个应用的访问量特别大,一台服务器已经很吃力了,那么就要增加服务器来提供相同的服务,这时一般就需要Nginx来做负载均衡。

Nginx负载均衡

负载均衡的Nginx配置和反向代理基本一致,不同点在于:我们可以在 同一个 upstream tomcatserver { } 中添加多个tomcat,

eg:

Nginx负载均衡

这个就是最简单的负载均衡配置,当多次请求来时,Nginx默认会轮询调用两个tomcat来响应,即第一次请求由tomcat1响应,第二次就由tomcat2来响应,这样就把请求均匀的分散开了。

reload配置文件,发送请求测试:

Nginx负载均衡

Nginx负载均衡

我们看到,每次刷新请求,都会有不同的服务器来响应。

上面只是最简单的分配 方式,它几乎是将请求平均分配的,但是如果我们配置的两台服务器性能不一样,我们希望性能好的多提供一些服务,那么就要进行下面的配置了:

配置权重

权重默认是1,比如我们觉得8080的服务器性能好一些,给其增加权重配置 weight=3,另一个权重不配置(默认为1),那么就是说大概 有4次请求进来,3次会分配给8080,1次给8081

 Nginx负载均衡

重新加载Nginx配置文件,我们再用浏览器访问,会发现,大多数情况都是由8080来提供服务。

注意:weigh权重值越高,处理请求的机会就越多。

其他权重配置的参数文档:

Nginx负载均衡

说明:

配置为down的请求不会转发给它。

配置为backup的,只有当其他所有正常服务器都挂了时才会将请求转发给它。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Stella981 Stella981
3年前
Keepalived+LVS+nginx搭建nginx高可用集群
       nginx是一款非常优秀的反向代理工具,支持请求分发,负载均衡,以及缓存等等非常实用的功能。在请求处理上,nginx采用的是epoll模型,这是一种基于事件监听的模型,因而其具备非常高效的请求处理效率,单机并发能力能够达到上百万。nginx接收到的请求可以通过负载均衡策略分发到其下一级的应用服务器,这些服务器一般是以集群方式部署的,因而在性能不
Wesley13 Wesley13
3年前
LNMP架构之负载均衡及HTTPS相关配置
本文索引:Nginx负载均衡ssl原理生成ssl密钥对Nginx配置sslNginx负载均衡负载均衡原理上就是代理,只不过通过设置多个代理服务器来实现多用户访问时的负载均衡。同时也可以在某个代理服务器无法访问时,切换到另外的代理服务器,从而实现访问不间断的目的。下面以qq.com为例
Stella981 Stella981
3年前
OpenResty之使用 Nginx 内置绑定变量
Nginx作为一个成熟、久经考验的负载均衡软件,与其提供丰富、完整的内置变量是分不开的,它极大增加了对Nginx网络行为的控制细度。这些变量大部分都是在请求进入时解析的,并把他们缓存到请求cycle中,方便下一次获取使用。首先来看看Nginx对外都开放了那些API。$arg\_name:请求中的name参数$args:请求中的参数
Stella981 Stella981
3年前
Docker实战——分布式Websocket服务
一、项目介绍我们很容易可以使用Springboot来搭建一个支持websocket的应用,用来实现基于HTML5的客户端之间进行消息的接收和推送。但是在实际应用的部署时,客户端和应用服务器之间总会用到Nginx或者Apache来做反向代理,来实现负载均衡。用Nginx举个例子来说,我们使用轮询的方式,将客户端的请求分发到后端3台w
Stella981 Stella981
3年前
Nginx Linux详细安装部署教程
转发:https://www.cnblogs.com/taiyonghai/p/6728707.html一、Nginx简介Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度
Stella981 Stella981
3年前
Nginx详细安装部署教程
一、Nginx简介Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤二、Nginx安装1、下载Nginx及相关组件Linux系统是Centos6.564位,我直接切换到root用户下安装!(https://im
Stella981 Stella981
3年前
Nginx相关
Nginx篇WindowsNginx配置使用Nginx负载均衡模式1)、轮询——1:1轮流处理请求(默认)每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。2)、权重——you
芝士年糕 芝士年糕
2年前
使用nginx进行负载均衡
我租了三台3A的服务器,使用的时候刚好用到了负载均衡,顺便分享给你们,如果有需要服务器或者哪里不懂的,可以私信我1.nginx负载均衡介绍nginx应用场景之一就是负载均衡。在访问量较多的时候,可以通过负载均衡,将多个请求分摊到多台服务器上,相当于把一台服务器需要承担的负载量交给多台服务器处理,进而提高系统的吞吐率;另外如果其中某一台服务器挂掉,其他服务器
芝士年糕 芝士年糕
2年前
使用nginx进行负载均衡
我使用了三台VPS服务器,同一网段的,用来搭建网站,推荐你们也可以使用3A服务器1.nginx负载均衡介绍nginx应用场景之一就是负载均衡。在访问量较多的时候,可以通过负载均衡,将多个请求分摊到多台服务器上,相当于把一台服务器需要承担的负载量交