00:00
呃,那好,呃,那我们接下来再看另外的这个,呃,负载均衡的方式,除了它自带的IP哈希之外呢,它还可以哈希一些别的东西,这有两个比较有特点的,一个是cookie。另外一个是request uri,我们先讲这第一个就是cookie。啊,这个cookie。是啊,我们现在这个主流应用程序里边都带有的功能啊,这cookie也是我们的后端服务和我们的这个,呃,用户保持会话的一个重要的。重要的这么一个因子,它可以通,它会通过这个cookie作为key和后端的这个session ID去做匹配,啊就是cookie呢。会下发给我们的客户端啊,不管是APP也好,还是你的浏览器。这个cookie每一个人登录完之后呢,都会给他下发一个唯一的,那么下次再来的时候会携带这个cookie,这cookie是一个非常长的字符串,很难被这个模拟出来啊,然后服务器呢,存在这个Jason ID和这个cookie的匹配上,我就认为你登录了。
01:04
那么我们也可这会儿呢,就可以让我们的NG对用户下发,呃,对对这个服务器啊,下发的这个cookie做哈希,那么他他这个cookie是怎么做的呢。第一次登录。我们的系统的时候有我们的这个系统也是我们的服务器端啊,下发一个文件,这个文件啊,就是cookie文件,一个文本文档里边记了一长串数数字或者是这个字符串啊呃非常复杂,基本上就是不这个你你你你没没法去这个呃复制就不叫复制啊,基本上你是没法这个去呃伪造出来的。这是第一步啊,他先下发一个文件,这个文件你要注意啊,它是在我们的浏览器或者在客户端上的,登录完之后,他就给我们移文件,那你你如果要没学过这个这个这个这个绘画管理的话,你可能不太理解,其实就是一文件浏览器帮我们去存到了浏览器的,浏览器的这个,呃本本地,那下次浏览器会携带这个文件。
02:15
或者这个客户端吧,他会携带这个文件,然后去请求我们的后端的服务器来匹配啊,如果匹配上了,那正好我服务器端又存了你这些会话的信息,那正好他就对上了,对吧,如果匹配不上,那对不起,你还得重新登录。那么我们的NG是怎么去对这个呃,用户的这个cookie去做的这个呃定向的分发的呢?刚才我们看到用户提交上来的用,或者说用户请求的时候呢,他有自己的IP地址,那这会儿我不通过IP地址去做这个哈希,我可不可以通过用户携带的这个文件,也就是个cookie文件。去做哈希啊,针对一个文件也是可以取哈希值的。
03:03
对吧,那这会儿呢,相同的cookie,诶,相同的cookie的文件,那会取出来相同的哈希值,不同的呢,取出来不同的哈希值,和我们之前的IP哈希的,呃,取哈希的道理原理是一样的,但是它取的这个具体的。这个这个因子它是不一样的啊,用这是用cookie之前那是用IP,那么呃,这会儿大家应该能够找到一个规律,N几对,呃,用户的这个一些数据,它可以取哈希值来定向的分发,对吧?啊,这不只是这个cookie啊,其他也可以啊,这个URL或者是uri也可以。啊,或者是其他的一些用户请求的header里的一些信息,都是基于HTTP协议的,HTP协议里那些request在这儿啊,我们看。我们随便打开一个页面,你看。
04:00
呃说呃,就就就随便打开一个吧,你看。看这这个。啊。Request。这里request。这里边儿所有的啊信息,它都可以取哈提值,但是你最好在取哈提值的时候吧,呃,用户和用户之间啊,它的这个辨识度要更高一些,也就是我和你他得是不一样,那么现在呢,有这么几个对吧U。呃。Cookie,还有这个我们的IP地址,这都是不一样的,对吧,那么接下来给大家看看这个。我们通过cookie怎么去,呃,分辨出来每一个用户啊。那么这个配置呢,其实也是很简单,就就这样啊哈希。Dollar cookie摘3ID这个加Dollar符的意思是它需要用到NG的内部的变量啊,如果一旦要是用到NG内部的变量的话呢,呃,前面呢,都要用到这个Dollar符。
05:11
来,我们把它配上在这儿。之前那是IP哈希对吧,那我们现在呢,给它改成哈希cookie Jason ID,就是像这个不同的用户的这个cookie啊,然后我们给它取一个哈希值,然后保存。然后reload一下。再来看101。102103哎。不好使对吧,为什么呢?大家看啊,你自己做实验的时候要注意。在这个cookie这里边你看。在这个cookie里边,你看它是没有这个Jason ID的。我们在这配的是啥?是Jason ID,这个Jason ID是Tom cat,或者是我们的Java程序,它给我们下发的这个,呃,Cookie的名称啊,就是你用Java程序登录之后,他给我们下发的这个cookie,这里边有一名字叫JID,如果你不想去部署这个tomcad的话,那么你就在这呢。
06:11
嗯,你给他哈些一个什么其他的东西,你看这不是有一些其他的吗?对吧,什么CNZZZ的是吧,什么五三的,什么QS的um的这些对吧,那我们在这呢,给大家,呃,把这个tomcat起来,你看一下。呃。Tomcat这这几台机器。哦。这已经起来了是吧,我们把它把这个服务起来。大一点。CD。User local。病。然后卡特琳娜热。然后这个也给它起来。
07:06
You no。我看他已经起来了,8080端口。啊,这应该是104。8680。啊,没问题啊,已经起来了,虽然说现在的页面里有没有JS这个JSCSS这些。然后。啊105。嗯,你看啊,这是我们的这个Tom cat。这Tom cat在下发cookie的时候,你看这是不是就有这个Jason ID了,对吧,因为我们要哈希的,你自己做实验的时候,如果万一要不好使啊,一定要注意这个。他哈希的是这里边儿的这个,呃,Cookie里边的name。啊,不是整个你所有本地客户端里的cookie啊,一个key,一个Y6,这里边的Jason ID,它会通过这个Y6去取这个哈希值。
08:10
那我们把这个这两台机器都配起来了,对吧,把这IP给改了104和105。然后端口是。8080,下边这个也是8080,然后保存属于lo一下。来,我们看这个前端服务器来走。大家看这会有Jason ID了,对吧?啊,然后这里边都已经标记好了啊,这是SERVER04,大家看来刷新它是不是还是SERVER04。刚才那个不好使,是不是因为在这个cookie里边没有这个JAID是吧。啊,大家一定要学会利用这个我们这个Chrome浏览器啊,这是呃,咱们课程里,或者说你自己这个呃,写程序调试的时候啊,非常非常常用的这么一个功能,就是它这个控制台,你看这Jason ID它有了在这在做负载均衡转发的时候,它就一直都是零四。
09:14
对吧,如果这个。Cookie里边的这个值啊,这是cookie它不一样,就是你登录了之后,你的这个Jason ID,它肯定和我的是不一样的,那么它就会转发到另外的一台服务器了。大家看啊对吧,这是这个通过呃,Cookie里边的Jason ID,就是整个通过这个cookie啊,服务器下发这个cookie去做这个哈希,然后再做这个负载均衡,做定向的流量的分发。啊,那它的这个好处跟坏处,跟我们刚给他讲那个IP地址比起来呢。他要比那个IP啊,直接拿IP哈哈希要少稍微好那么一点点。好在哪一点点了,就这个IP地址。没有那么多,但是这每一个用户呢。
10:02
啊,都可以根据自己的这个绘画的信息去做负载均衡了,也就是在一个局域网里,或者是一个校园网里,一个公司里,那么在做负载均衡的时候。啊,这个。我们的这个这个请求也都不会被直接转发到固定的一台服务器里了,因为那个IP大家就只有一个嘛,是吧,啊这是这个,呃,给大家讲的,通过cookie去做这个负载均衡。
我来说两句