00:01
欢迎大家收看上硅谷的Linux云计算视频,大家好,我是汪洋。今天呢,我们去讲解我们的多级负载,也就意味着我们之前已经学习过了四层负载和七层负载,我们现在把它结合在一起,去看一下它到底有怎样的魔力。好,那对于本章呢,我们去分为两个片段。第一个片段实现原理,我们先说明一下试层和气层的一个原理的回顾,对吧?以及它们怎么柔和起来,以及柔和起来带来的含义所在。然后呢,再去给大家看一下我们今天构建的这么一个网络图谱环境图,然后呢,我们去把大家好好的给构建一下。那首先我们先看第一个实现原理。这是我们的七层负载较度的实现原理,首先客户端会发起TCP的连接到我们的Linux。Engine呢?会把知识连接翻译成他想要获取的数据,然后engines向后端阿帕奇服务器去建立完整的TCP连接访问。
01:06
获得完数据以后,再把数据传输送给我们的客户端。相当于它的它的我们的负载均衡的功能,相当于是实现了一次反向代理。以反向代理的方式去实现我们的负载均衡。这里是需要注意一下的,并且我们之前也说过了这么一个原理性的介绍,对吧?对于恩X来说呢,它有识别我们的主机名和我们的网,就和我们的FQD名称的这么一个功能,所以它是可以判断后面这三台阿帕奇到底它的主机名是谁,或者是我们可以实现功能就是按照域名的方式去负载均衡。举个例子,假设这两台的阿帕奇为3W点。It上硅谷,上硅谷点。Come。那这一台呢为点CN。
02:00
如果有人去访问。com的话,他就可以在这两台中间做负载均衡,如果访问CN的话,可以在这台ipad机中间做负载均衡。不会出现访问。CN。但到。com上做负载均衡呢,这么一种情况,因为NX是一个七层负载,它能识别到,所以就不会出错。但是七层负债我们会发现对吧,所有的流量NGS本身都需要去处理。有用户问他要,他就会向后端去发送要,也就意味着其实解决了一次用户连接,他需要建立两次完整的TCP。可想而知,他的压力到底有多大,对吧?好,那这是我们的N。对于四层来说呢,我们采用的是我们的iOS给大家实现的,对吧,那这里我用了一个比较典型的电压模式的环境图给大家展示。那首先客户端发送数据报文。智iOS。IOS去判断你的端口和你的访问的VIP。
03:04
如果只要这两个匹配的话,它就会。按照他自己的调度规则,把这些请求的数据包数据包转移到后端的三台正式服务器上。那对应的服务器接收到请求以后,返回数据给真实用户。那这里需要注意一下,他判断的仅是端口和VIP。也就意味着,如果我现在有两个不同的域名,一个是3W点。It上点。com,一个是点CN,其实这两个页面展示的内容是不一致的,是不一致的。但是呢,我们如果把这两个域名都解析到同一个VIP身上,并且他们端口都是八零的话,那这时候is是判断不了的,也就意味着还跟我们刚才一样,这两台服务器代表的可能是com的这个域名,这台服务器代表的可能是CN的这个域名。对于iOS负载完完成以后,可能别人访问的是com,结果你把我负载到了CN上。
04:05
这是完全可能出现的情况,原因是什么?四层负载只看我们的端口和VIP。不看你的玉米,或者是他看不了,根本就。那这种情况下是不是就会出现错乱?也就意味着式神虽然他的压力非常小,对吧,因为在这里他只负责了入站,并且负责入站还不是完全连接,只是数据包的修改,对吧。那所以呢,他的压力啊,他的压力非常小,它的并发非常大。那就意味着我们可能现在出现了一种情况,就是。如果我们需要并发大的,我会选择四层。如果我能识别到我们的域名的,也就意味着我们需要做虚拟主机级别的负载均衡的话,那我们可能要用到七成。那如果我现在出了这么一个需求。第一个公司有两个不同的域名的门户网站,也就意味着我这个需求抛出来以后,我可能要做。
05:06
虚拟主机了,对吧,或者是可以通过不同的公网地址。对吧,可以通过不同的公网地址把它定到不同的。入入口处。负载入口处,我们可以这样理解,对吧,也就意味着有两种两种方法,第一种方法就是我拿一台类似的服务器。所有的公网地址。这两个不同域名的公网地址都指向N。或者是他们就是同一个公网地址对吧。做虚拟主机级别的为host级别的。那第二个就是我现在两台服务器。把两个不同的域名公网分别指向。那这样的话是不是也是没问题了。如果是我说的第二种的话。压力小我可以用,压力大我可以换成iOS。可以这样理解吧。那对于第一种来说,如果我们把两个不同的域名解析到同一个主机上,那我只能采取为host,也就是N的负载方式。
06:06
好,那第三个需求是不是已经说了,两个门户网站的公网地址必须一致?是一致的,由于某种问题对吧,那就意味着这一种被我抛弃了,我只剩这一种方案了。好,我们再看业务高峰期访问量较大,经测试未能满足并发要求。也就意味着,如果我拿当我们的负载入口的统一入口的话。压力比较大,因为这两个不同的大访量的门户网站,它支撑不住。那既然是访问压力大的话,我就自然而然会想到iOS类似的这么一种四层负载,对吧。但是加iOS以后会出现问题吗?会会出现什么问题,比如这是iOS。后面呢,是我们的两个不同的啊,三个不同的服务器,我们就简单写三个对吧,它两个呢,是第一个门户网站,它是第二个门户网站。
07:01
好,那我们来看一下。如果是iOS的话。我们下面有三个不同的门户网站。他两个呢,是第一个门户网站,他呢是第二个门户网站。当用户过来访问到Linux的iOS的时候。那如果访问呢,其实是第二个门户网站,它有可能把负载调到第一台,原因是什么?我们之前是不是也说过?IOS只看端口,只看端口和IP。对于你什么所谓的域名我是见不到的,因为我是四层啊,四层可没有这个概念。所以呢,我们可以实现这么一种场景。我们可以实现这么一种结构。既然你的最外层放N满足不了你的需求,那我最外层我就放iOS。是这个意思吧?但is会带来一个问题,我下面有两个不同域名的网站。
08:00
那如果用iOS的话,其实它不能去判断你这时访问到底能不能访问到正确的网站上,因为它的它的主机名识别不了。SQL的名称识别不了。那怎么办呢?我再去加NX。你是不是让我N这是可以,也就意味着会经过这么一个流程,客户端进来以后。到iOS iOS根据算法匹配到其中第一个nix或者第二个ix。NX里面呢,去设置我们的V的虚拟主机级别的负载均衡,去判断你到底访问的主机名是谁。如果是他如果是上硅谷com点一啊,如果是上硅谷com这个域名的话,那可能会在第一台和第二台中间去负载均衡。那如果是上硅谷CN的话,那它就会直接调度到CN上去,负载均衡。这样的话就实现了是七层负载的这么一个功能。
09:00
需要注意一下这种结构,其实在公网中我们见到的还是不是太多的。这是比较特殊的一种环境。那为什么在这里跟大家去讲呢?因为如果你要把这个实验给理解掉的话,我相信四层和七层的对应的负载功能,它们的对比以及它的优缺点,我相信您已经吸收了。那咱们这节课就讲到这里,给大家分析了我们的试气层结构,以及为什么要用四七层,以及试气层带来的优点,以及它的拓扑环境。希望大家好好的把它给吸收一下,再去根据我们之前的课程,在脑海中把这个数据报文的转换格式再自己的给过一下。那咱们这节课就到这里,再见。
我来说两句