Nginx的集群以及负载均衡

我们来讲一下Nginx的集群以及负载均衡相关的内容。
首先我们先来讲一下单节点,单节点的话其实就是一个单体,我们会以生活中的例子来举例一下:

在这里插入图片描述

首先我们先来看一下,假设有一个哥们儿,他在工地上去搬砖,现在呢我有30块砖头,他要去搬的话,没有问题,他可以去搬完任务完成以后,又拿了30块,他还是可以去搬的。

最后又来了30块,总共是有90块砖头,他非常的累,他就可以把这些砖头总共90块全部都可以办完。

那他一个人去搬的话,其实他会非常的累,压力也很大,自己如果说他生病了,生病了以后就没有人搬砖了,对吧?这样子的话就会导致我们任务的延时,现在就没有人去做这个工作,没有人去搬砖了。

所以说对于我们单体来讲的话,我们单节点的话就是这个人再怎么牛的话,他再怎么可以搬几万或者几十万砖头的话,他只要生病了,他只要挂掉了这个任务,这些砖头就没有人能够去处理了。

所以说我们当前这个人,或者说我们当前的一个计算机节点,不管他有多牛,他的硬件配置有多厉害,他迟早有一天啊会成为一个瓶颈。
因为我们的一个数量会越来越多,你单个人所承受的负载肯定是有上限的,所以呢我们是需要去进行一个水平的扩容。

随后我们来看一下集群:
在这里插入图片描述

现在我们有一个老板,这个老板的话呢,他招募了总共是有三个人,这三个人的话,他们是同时的是可以去进行搬砖的。

现在我们比方说有30块砖头,对于这三个人来讲的话,他可以一分为三,每个人去搬十块,这样子的话,很快的就可以搬完了。

同理,后面我们再有一些其他的砖头过来的话,对于他们来讲的话,他们都是可以去分配的自由的,分配了以后,我们的任务处理的会更加的快。

其实对于这样的一种环境来讲的话,他们三个人三个节点的话是协调的去搬砖,协调的去工作的,只不过呢对于我们单节点来讲的话,它的一个成本的话会更高,之前我只有一个人,现在我有三个人人力成本,我就提升了两个人吧。

同理,我在购买服务器的时候,原先我是一个单节点的服务器,单节点服务器的话,它的成本在那里,现在我用一个集群去处理的话,我集群有三个计算机,我的成本肯定是要更多吧。

当然我使用咨询了以后,我的一个咨询整体的一个性能呢会比原先的干结点会更高,它能够同时的去处理的工作量也会更多了,相应的工作效率也会更高。

那老板的话,这个老板他其实就相当于是一个Nginx,就充当了Nginx一个作用对于我们整体的一个环境来讲的话,其实我们后面有多少块砖头,我们的一个老板他是不需要去关注的,我只要派人去工作,去帮我去完成这些任务就可以了。

那如果说我们这里三个人里面有一个人他生病了,或者说他离职了,他不干活了,我剩下来有这么多的砖头的话,其实我原来的两个人,他也是可以去搬的,所以呢他就不像干净点那样一个人生病了,什么都做不了。

现在我有人离开了,那我还是可以保证我的工作量有人去做,甚至我还可以再额外的去招三个四个五个,我可以去招更多的人去帮我完成这些任务,都是没有问题的。

另外在我们的执行环境里面,其实它会有一个原则,这个原则的话其实是一加一大于2。比方说啊我们有两个计算机节点,分别都是两核4G的这两台计算机节点在一起工作的时候,它们所叠加在一起的性能,它们会远远超过一台四核8G的,也就是一加一大于2。

两个人的价值会超过一个人,对于服务器来讲的话,其实也是同理的吧,对吧?

现在在我们集群环境里,当我们保证每个人所有的节点都可以运行了以后,我们的整体的效率会提高了,我们的集群的伸缩性也就更强了。

接下来咱们来看一下Nginx的集群和负载均衡:
在这里插入图片描述

首先我们有一个客户端,客户端的话,它是不会直接访问请求到我们后台的服务器的,它必须要先经过Nginx。

因为Nginx是我们的一个网关,也是我们的一个反向代理器,甚至它也是一个负载均衡器,我们所有的请求会先经过Nginx,经过了Nginx以后,我们的一个请求才会被english派到我们后端所存在的一个后台服务器。

比方说我们会请求到tomcat1,这个是由Nginx去分配的,当然我还会有tomcat2,tomcat3,甚至还会有很多用户的每一次的请求,其实都会由去决定,有可能下一次他会请求到tomcat3,再下一次会请求到tomcat2,对于这些tomcat来讲的话,那他们其实都是web服务器的。

所以这一块的话其实对于我们来讲,在我们进行配置的时候,他们其实都是一些上游,都是上游服务器,我们称为是一个upstream。
upstream的话,后面我们在进行配置的时候,我们是用到的。

需要注意的是,我们用户的所有的请求都会有可能到达我们咨询中其他任意一个tomcat节点,这个其实就涉及到了我们engines的一个负载均衡。

负载均衡的话,其实我们可以把用户所有的请求平均的分配到其他后台的所有的tomcat节点,当然我们也可以根据每一个后台服务器,它本身能够承载的一个并发量的一个大小,去根据它的一个权重去进行配置。

另外我们呢也可以根据用户的IP,根据我们请求的一个URL地址,让我们请求到达我们某些特定的一些窗口里面。

在这里面的话,我们假设tonight一这一台服务器是挂掉了:
在这里插入图片描述

由于它是在我们整个集群环境里面,这个时候我们的用户的请求,虽然之前我们是请求到了tomcat1,它一旦挂掉以后,我以后就不会再访问到它了,它就会像我们的tomcat23456,向其他的创业者去发起一些相应的一个请求了。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Escape2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值