我们来讲一下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,向其他的创业者去发起一些相应的一个请求了。

Nginx的集群以及负载均衡相关推荐

  1. Nginx+Tomcat集群与负载均衡

    Nginx+Tomcat集群与负载均衡 架构描述 前端一台nginx服务器做负载均衡器,后端放N台tomcat组成集群处理服务,通过nginx转发到后面(注:没做动静分离,静态动态全部都转给tomca ...

  2. linux搭建LVS+keepalive+nginx实现集群高性能负载均衡配置详解

    关于nginx配置tomcat实现负载均衡可参考http://blog.csdn.net/liqi_q/article/details/78063603 安装jdk可参考:http://blog.cs ...

  3. nginx的集群与负载均衡

    一.集群 就是同一个业务部署在不同的服务器上. 1.启动多个Web服务器 http://127.0.0.1:9001 http://127.0.0.1:9002 http://127.0.0.1:90 ...

  4. 搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡

    转载:https://www.cnblogs.com/xiongze520/p/10308720.html 分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟 ...

  5. FastDFS蛋疼的集群和负载均衡(十五)之lvs四层+Nginx七层负载均衡

    ###Interesting things lvs+nginx的拓扑图 准备环境,基于上一篇[Diary Report 2018-1-3]关于FastDFS蛋疼的集群和负载均衡(十三)之LVS-DR环 ...

  6. 在Linux上使用Nginx为Solr集群做负载均衡

    在Linux上使用Nginx为Solr集群做负载均衡 在Linux上搭建solr集群时需要用到负载均衡,但测试环境下没有F5 Big-IP负载均衡交换机可以用,于是先后试了weblogic的proxy ...

  7. Nginx实现tomcat集群进行负载均衡

    一.背景 随着业务量和用户数量的激增,单一的tomcat部署应用已经无法满足性能需求,而且对于每次发布项目期间服务不可用的问题也凸显,既然出现了这个问题,那么我们本文就借助nginx来完美的解决这个问 ...

  8. 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡...

    10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡 原文:10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡 分布式 ...

  9. nginx与IIS服务器搭建集群实现负载均衡(三)

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)>中提到有 ...

  10. nginx与IIS服务器搭建集群实现负载均衡(二)

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)>中小编简 ...

最新文章

  1. ORM 一对一 以及csrf 的简单用法
  2. zoj3988 二分图匹配
  3. 对文本根据特殊字符进行分段代码_如何优雅地配置快应用的代码片段
  4. ffmpeg添加到环境变量_在 Mac 上为 FFmpeg 配置环境变量
  5. 算法笔记---从N个整数中选取K个数平方和最大(加可重复选值)
  6. DBUtils——handler
  7. arm平台下的反汇编pdf_stm32逆向与安全科普,bin文件逆向反汇编
  8. Simulink模型的仿真
  9. java 加权平均_加权平均值 - 不羁之后的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. Docker 5分钟搭建web服务器
  11. 【VSCode】设置代码格式化插件Beautify
  12. 将本珊计算机组成原理,本珊
  13. 结束时间和开始时间不能大于31天
  14. 用计算机唱歌 丑八怪乐谱,得力计算器乐谱丑八怪 | 手游网游页游攻略大全
  15. 经纬度坐标转换为屏幕坐标
  16. SQLiteOpenHelper 崩溃Couldnt read row 0, col -1 from CursorWindow.
  17. ssssssssss
  18. 美拍、秒拍短视频SDK功能实现
  19. 图论算法 有图有代码 万字总结 向前辈致敬
  20. 共享平台如何提高财务的分账记账效率?

热门文章

  1. 荐书丨大型网站技术架构演进与性能优化
  2. Lammps 初学者——in 文件中文解析
  3. JTAG各类接口针脚定义及含义
  4. c语言用字符编程图形,C语言图形编程——字母符号
  5. USB协议分析方法,工具推荐
  6. (鬼刀)记一次异步加载Python爬虫分析
  7. 视频垂直翻转并添加马赛克的步骤
  8. GBase项目管理实践总结——WBS分解的关键事项
  9. CodeBlocks下载安装与SDL下载使用配置教程
  10. ROS | 机器人操作系统简介