00:00
大家好。欢迎大家继续收看上硅谷的云均算视频,我是万洋老师。那上节课呢,我们已经讲了我们比较通用的一些负载调度的算法,对吧,那这节课我们讲一个特殊的,也就是LS特有的这么一种调度算法,我们把它叫做持久化连接。那首先我们先了解一下为什么要有持久化连接这个概念,我要先引入一个另的东西对吧,另一个东西也就是我们的HTPS。这个相信在我们的在我们的网络服务课程中已经比较好的给大家去描述它的。建立过程。那我先问大家第一个问题,就是。大家对HTPS有什么样的一些理解啊?有些人可能会说安全,有些人可能说配置比较复杂。有些人可能说,哎,我要花钱去买一些证书才能用。其实不仅如此,它还消耗性能。
01:05
甚至我们都有专门的硬件,叫SS连接。SS握手设备。也就是这是一个硬件设备,专门去做IPS握手的。你可以想象到我们都有专门的硬件去干这件事情了,你说他的资源消耗大不大?好,那这是我们要对HTPS树立的一个观点,当然HTPS也是现在不可或缺的这么一门技术。那包括谷歌。它在浏览器端,在明年的时候应该就会把我们的IGDP网站全部中断。那之前其实已经有很多对MVP不太友好了。比如。苹果appstore在去年的时候就。已经上架了这么一个规则,就是里面的所有的应用程序再去进行数据传输的时候,必须走协议,不然的话HP的话不允许你上架。
02:04
谷歌,应用市场从今天开始也必须是这样。所以IPS一定是我们未来的趋势,对吧,或者是趋势以来,或者是趋势早就有了,我们已经发展成熟了,对吧,现在很少一些网站没有所谓的IPS,很少了,除了一些个人博客,对吧?他可能不想消耗过过多的性能,比如我的个人博客,我就没有开启IPS。因为我就是一个一核1G资源的,对吧,加了以后反而没有必要,毕竟就是一个个人博客。那。我先给大家树立了一个,就是IPS消耗的资源还是比较多的,对吧,那还是老规矩,我们看一张图。这张图呢,我们在前面已经不止一次的给大家见过了,也就是我们的负载电路的。C。IOS。阿帕奇。
03:01
然后阿帕奇,阿帕奇。那这张图是什么含义呢?我现在假设它连接的端口是。443,也就是我们今天走的是HTPS连接。过神经段就变成了这样,对吧,C连接到iOS iOS呢。把转发到阿帕奇,阿帕奇呢?回送对吧,那这个过程其实第一个过程并没有传输出去,还记得吧,我们是建立了相关的一些规则,比如确定我们的协议版本,加密版本啊,加密算法,确定我们的,呃,所谓的加密算法增上的密钥,对吧,都是在这里完成的。那完成以后,我可能只获取了一个G 1.gpg,那下一次的请求就有可能被iOS。就有可能被iOS负载到了第二台阿帕奇服务器。那第二台阿帕奇服务器,因为我们走的是HTPS,所以要重新跟我们的iOS进行。
04:06
HTPS,握手。又要消耗资源,以此类推,跟他握获得数据,刷新跟他握获取数据,那可能下一个跟他握获取数据,轮流去握。那这样的话,其实我们对于阿帕奇来说不太友好,对吧?我明明已经跟你建立过hps连接了,但你只要换了一次零零请求,那我就必须要重新跟你建立握手。消耗的资源大不大?一定是非常大的。那我能不能让他HTPS握手,握手完了以后就一直使用这台阿帕奇服务器呢?当然也是可以的,对吧。怎么可以啊?还记得我们之前说的。SH吗?South哈希。对吧,也就意味着它是圆。第13列。那讲明来说,就是同一个用户的IP请求分散至同一台服务器,那这样的话,我的iOS不管怎么负载是不是都要交给我们的。
05:05
都要交给我们的低塔帕奇服务器。对吧,不管怎么负载都交给第一台阿帕奇服务器,那这样的话,HTPS握手的性能的损耗是不是也就能忍受了?那现在我们又会带来一个问题,就是那你这样的话,我们的负载均衡其实就不太均衡了,对吧。我又想采用的是R算法。我又想让这种的连接持久化。怎么办?也就意味着我需要引入另一种算法SH,但是我在SH的前提上,我又想run又想轮。你说这不简单吗?我为我的集群设置两个不同算法呗。这是不可以的。基本在我现在认知的一些负载的路由器里,没有说可以同时配置两个算法同时生效的。那iOS为什么可以?因为它引入了另一个概念,就是持久化连接,就是我们刚才说的持久化连接。
06:07
这句话连接你怎么理解呢?可以理解为就是我们的类似于我们的算法。但是。但是他又不等同于。那怎么去理解我们的iOS的持久连接呢?其实你可以理解为它就是我们的。SH算法。类似。但是又不等同于SH算法。
07:00
这句话连接是优先于。IOS算法了。或者我们叫优先于通用算法呢?也就意味着通用算法里有哪些SH啊,R,什么LBLC啊,对吧,这些算法是不是都属于通用算法里了。那也就意味着持久化连接它的优先级是大于同种算法的,我们应该先匹配到的是持久化连接。匹配到完了以后再去匹配通用算法它是第一步,它是第二步。那这样的话,我们就可以做到一个类似的观念了,就是我先开启LYS的持久化连接。然后呢,我再去把它集群配置为R荣的鲁。那这样的话是不是就是hps又连接了啊,装的作品又轮了。达到我刚才的说的效果了,对吧,所以一般来说数据化连接会被普遍的应用在我们的HTPS相关集群中。
08:01
那持有化连接的它的原理呢?依然比较类似,它就在我们的内存分页中去采用了一块缓存,记录我们的客户端数据与我们分配的增值服务器的相关对应数据。保证我们的美式连接能够进行持久化。当然,这里的持久化说的是一个时间观念,也就是在固定的时间中,比如我设置的是200秒。那这样的话,在这200秒之间呢,它才会进行我们的所谓的持有化连接。当我们的持续化连接。他会一点一点损失这个时间对吧。200秒,一秒以后变成199,直到变为零。那直到变为零,也就意味着这个客户端之前我不需要为他做持久化了,那我们就会采用第二种算法,可能是让手柄对吧,就会进行轮许。也就意味着我们在设置iOS持久化。连接的时候,我们还要去定义一个时间。这个是比较重要的一个概念。
09:02
那当我们的每次连接重新刷新以后,那这是这么一个概念啊,就是就是我的客户端,就是我的is,我在连接第一次了以后,这里面是不是会记录一个200秒的时间。对吧,那。一点一点减少,一点一点减少,减少到100了,那减少到100以后,我客户端诶又重新连接了,那它会加上我们的30秒。那最大不超过我们的200秒。这是需要我们注意的一个时间,好,那到200秒消耗时间,消耗殆尽以后,消耗殆尽以后那。它的持久化规则里就不存在这条规则了,就会删除,那客户端在连接过去以后,相当于是一个新的请求,根据我们的通用算法去判断。这个就是我们的持续化连接。讲了这么多,你就记住两点,第一个它的功能类似于SH,第二个。它优先级最大高于我们的通用算法,先匹配它,再匹配通用算法。
10:07
只要记住这两个比较重要的概念,其实你就能已经理解了这个化零件了。那还有它的应用场景,就是普遍应用在我们hps集群之中。需要注意一下。那接下来我们去看一下我们的持续化连接的一个分类。那催化呢?分为三类,第一个叫PCCC,第二叫PPC,第三个叫PFMC。有点难记是吧,那大家可以记中文,也就是持久客户端链接,什么叫持久客户端链接啊。就是我客户端。访问我的iOS集群。IOS集群是可以代理多个不同集群的,比如代理八零的两个集群,代理43的两个集群。当然我们的iOS这里也会有八零集群和43集群,也就一个iOS可以配置不同的集群的,需要大家注意一下,但是一般我们不会这样去配,谁也没跟大家去详细去说明。
11:10
那在这种情况下,我C只要访问过来。只要访问过来,只要是这个客户端,不管大家访问的是什么端口,我都把它定到同一台服务器,这就是我们所谓的持久客户端连接。也就意味着,不管他要访问什么,我都是电脑腾一台服务器。那第二叫持久端口连接。那这有什么含义啊?C访问一个八零,我定到了是R1上。那如果下次访问的是8080的话。其实他不会匹配到原因是什么。八零和8080不是同一个端口对吧?所以它会比如分配到RSR上,那我再刷新访问的是八零,那还会被定到S1,那8080还会被定到定到S2,那如果访问事实三呢。又相当于是一个新的连接,那可能被定到S1或者是RS2。
12:00
能理解我的意思吗?也就是每一个端口都会有一个模板,那前面呢,是每一个客户端有一个模板。客户端是你的唯一匹配属性,PVC呢,你不仅客户端要匹配上,端口也要匹配上。这是唯一的区别,需要大家注意一下。这两种比较容易理解,那下一种叫PFMC叫持久防火墙标记连接。这个比较有意思。就是我对集群来说,我不签处理。我先给他打个标记,我再去根据我的标记去处理。给大家举个例子。那大家不知道有没有去过一些洗浴中心是吧,反正我没有去过,听说。那每次去洗浴中心的时候,那门口是不是有一个接接待啊,对吧,比如叫基地接待。那客户端过来以后呢,去找接待,接待他会根据他的经验判断你到底是一个VIP1的用户,还是VR用户,还是V3用户。
13:02
不同的用户肯定有不同的对应的服务,对吧。我先给你打个标签,如果你是V1的用户,啪,我给你打个一,如果你是VR的用户,啪,打。V3的打三,以此类推,我现在有四个用户来了,他俩是V1的,他俩是V2的。这标签已经打过了,对吧,然后我再交到LYS的时候。IOS就根据你打的标签判断,把它转接到不同的集群上,那都是一的好,你过来。诶,这是二的,好,你到这里来。也就意味着根据不同的标记数去把你转移到不同的集群上。那这样的话,咱们是不是就更灵活了,原因是什么?我打标记可以根据你的什么衣着,可以根据你的身份,可以根据你的一些不同的属性,外貌啊等等去判断。那如果转机到我们的Linux操作系统上来了,可以根据你的源地址,可以根据你的原端口,可以根据你的数据包属性等等。
14:04
所以他还是非常灵活的。那当然,对于PFMC来说,它需要借助我们的防火墙规则去实现,需要注意一下。那我这里呢,先给大家简单的介绍一下,因为我们还没有讲防火墙对吧,那后面讲完防火墙以后,这个就能听得懂了,所以你现在只听一下,不需要去做即可。那IP-T。杠t mango在mango表中preut链里。这个这个表呢,就专门打标记的普root艇叫路由前对吧原啊目的目的地址172.16.0.8,可能我们当前的集屏就是他集训地址对吧,TCP的协议目标端口是八零的话,我给你打一个标记,Mark值等于十。听明白了吗?好,你访问事实上的话,我也打个标记,Ma值等于十。那如果来了一个集群,它的值为十的话,我们进行持久化连接。
15:01
这就是所谓的PFMC。还是有点复杂的对吧,现在可能看不太懂,等咱们后面学了防火墙以后,这个我相信大家都是能看得懂的。那这种当然用的也不是那么多,那前两种已经比较好的满足我们了。那确切的说应该是第二种。因为一般来说,我们的一个is一般都是对应一个集群。我不是说它不能对应多个,是我们一般把它对应一个。因为我们不想把所有的业务都放在同一个栏里,对吧,那他一出现中断了以后,可能很多是不是都会出现错乱。那PPC是我们主要去看的,对吧,你会发现这两个代码唯一的区别就是这里是八零,这里是零。也就意味着代表的是访问的是这个地址的所有端口,零代表所有,这里是访问的这个地址的八零端口。那再跟我们之前再去构建NAT1阶。Net已经DR模式的时候,又多了一个值,就是杠P。
16:02
对吧,也就是我们的持续化的意思,那设置的时间为120秒,也就是话持续化时间为120秒。那这个我们大家去做一下,看能不能实现对吧,也就意味着我现在要把集群加个杠P去实现。那上节课呢,我们已经搭建过了我们的nat模式的集群了,对吧,IPIDM,杠杠杠status。那这是连接数入站入站出据包入战字结,出站数据包出战字结,那这个是我们的平均分配的对吧。入出都有。所以这是一个。Nat模式的集群。那我们先访问一下,测试这个集训到底正不正常?20.20.20.1回车,This is server刷新。我一刷新。SO11刷新SO2,对吧,正在我们的负载均衡。那我现在想做的就是加上我们的。杠P的持续化连接,我们看一下效果。
17:02
首先这里写的时候,这个集群是不是已经固定好了,但是没有加杠P对吧,所以呢,我们要把这个集群给删了。那怎么去三入肌群呢?用的是大D大D。这是我们之前添加一个集群使用的命令,对吧,我们把杠大A改成杠大D。把杠SR给去了,不需要指定算法回车,那IPVIDM、杠大LN,我们可以看到集群是不是都没了。那我们再把这个集群给添加上。杠大A。杠SR加一个杠P,实话连接时间可能120秒回撤。那IPVIDM-L杠杠。那这个就我们已经确定好了。那接着呢,我们在杠A添加。我们再添加一个幺三。那这样的话,两个集群就已经确定好了。
18:33
那这样的话,两个集群就已经确定好了。叫ipi杠杠。我们去找一个关于我们的连接的。那这里已经显示出来了,对吧,就是查看我们的垂化连接输入信息。那我们在IPVIDM杠杠杠。Persist对吧,那你可以看到。这里的持续化连接时间是不是已经写出来了?
19:04
那。接下来呢,我们可以通过杠L。杠C的方式可以看到我们的当前的连接信息,那这里是空的对吧?那我们接下来我们去访问,我们看一下,首先我们先把它给清空,20.20.20.1回车,这次IS11对吧,那我们刷新,我们刷新。有人说,诶,这是不是服务器的我们的啊,浏览器的缓存啊,那我们打开一个无痕窗口,20.20.20.21。是不是还是啊。原因是什么?你的客户端怎么设置都没用,因为这个持续化连接是服务器端记录的,那我们在杠C我们看一下效果。这里是不是有很多链接都显示出来了?对吧,好。这是原访问的我们的当前的服务的,对吧,虚拟服务的,也就是iOS集群的访问的幺幺的八零端口交到幺三了,对吧,那这个是不是就是我们记录的。我把。
20:00
那至此为止呢,我们的iOS呢,持续化连接已经给大家演示了,对吧。那这个在我们的hps集群中还是用途比较广泛的,需要大家好好的把它理解吸收一下。那这节课呢,我们讲了iOS的持续化连接,三种不同的模式,以及给大家演示了我们的PPC,它的使用效果。希望大家好好的把这个实验给做一下,以及理解它的对应的含义。那这节课咱们就讲到这里,再见。
我来说两句