00:03
嗯。大家看啊,我们在。有人看啊,这个服务器端这个程序里边主启动类上面是写的这个注解的。啊,我们是写的这个注解的,那么相应的呢,其实还有一个注解啊,我们。它成对的,既然有server,就肯定是有这个client。有一个下一个注解这个enable。有瑞client,诶这个server client是成对出现的,有这client,那你按说呢,因为这也是个注解嘛,按说在我们provider和consumer他们都是car的客户端。哎,他们按说都应该也应该加这个,但其实我们没有加。这个是为啥呢?这个是因为版本较低的时候,这个是必须加的,后来spring cloud版本变高了以后呢,这个就可以不用加了。啊,其实这个说你这个家长当然是也是没问题的。纽卡。
01:01
Enable。Client。这是一个,另外还有一个注解呢,叫做discovery。Client。Enable enable。就是注,就是发现服务的一个客户端,这俩注解呢,其实效果是一样的。只不过这个这个注解呢,只不过它呢是不局限于有瑞卡注册中心。啊,注册中心的就是解决方案技术的选择,也并不是只有有卡这一个上面这个呢,就可以对应的是其他的注册中心,这个呢,就只能是用用在这个有瑞卡这。啊,但是呢,这两个东西就我们现在来说呢,咱们现在这个版本都是可以省略的。啊,但是我们还是要给大家去提一下,因为你将来呢,有可能看别人代码,可能看他是写这个,哎,看到的话,你得能知道他大概指的是啥意思啊。
02:04
而且它较低版本的时候还不能省略啊。呃,就大概是在这个D开头的这个spring cloud的时候啊,就应该是是这个不可以省略的啊。这个叫启用。有卡客户端这个功能。呃。啊,这个是启用。嗯,发现服务的这个功能。Discovery就是发现的意思嘛啊。就这两个注解呢,其实这个。呃,功能上大致相同。下面两个注解功能大致相同,哎,嗯。然后只不过它呢,不局限于我们的。有。啊,这个注册中心。
03:02
而下边儿这个呢,它当然必须是。注册中心。很明显嘛,你这写的有人卡克兰吗啊?这个给大家提一下啊,大家就对我们对这个呢,有一个概念,你在别地见着见着的话呢,哎,你能够有个印象。我们这儿呢,是可以不写的啊,咱们这确实也没写,没写他也就都访问过来了。嗯,好嘞。嗯,然后呢,下一步我们下边来看一下啊。我们其实呢,刚才已经在用到ribbon了。我们说这个叫客户端的负载均衡啊,这个日本。我们已经在用了。看一下cloud这个官网哈。怎么怎么回到目录呢?他这个这个页面这结结构跟这个看小说那个网站特别像。
04:03
Netflix里边呢,我们去找一下有没有ribbon。这个其实不是哈。其实这个我们都不用进去看这个细节哈,就看这个标题就好了。他介绍,Ribbon直接就说,Client said load balance。是吧,客户端这一边儿的负载的均衡嘛啊。就是这个这个东西,所以说这个名词也不是我造出来的啊,这不是在这儿,我在这儿胡说八道啊,这东西在官网上都是能够找到根据的。嗯,哎,这边告诉你怎么包含进来啊等等啊,这是一个客户端负载均衡,这个其实我们已经在用了。那么想体现这个ribbon的效果,我们就把这个provider呢,以集群的方式给它启动一下。以集群的方式启动一下这个provider,诶。这个怎么做哈。
05:00
现在已经是按1000呢,启动了一个实例了。我们在按。啊呃,在两千三千再启动,可以启动多个实例,但是呢,这个时候我们还得改一下provider的一个handler的方法啊。按说其实是应该把这个放前面哈。把这个放前边,把这个放后边。先改这个方法啊,改这个方法呢,在这儿我们去传进来request这个对象。啊,然后呢,把这个从当前request对象呢,把当前服务的端口号呢,给他拿到。拿到以后呢,给它放到这个用户的名字的后边,咱们就能看到这个当前端口号了啊,诶,然后这个再再以这个实例再去启动。我们把这个呢,给它先停一下啊。算了,我们都停一下吧。
06:02
一会儿再重新起哈。找到provider呢,咱们先改一下这个方法。哦,对了。我们应该是,哎,我看我保存这个代码没有。啊,零三,这个叫调整我们的consumer。嗯,访问通过。Rib本啊访问卡。这是这个阶段的整个的代码啊。然后。下边呢,我们是改一下。呃,这个handle这啊,然后HTTP。Request。哎,我们获取一下当前。
07:00
服务的这个端口号,诶这个是有办法拿到的,就快点开server port。哎,把这report呢,给它放到我们这个。名字后边。这来个空格诶。这个改完以后呢,我们provider啊,以三个不同的端口号启动一下,先按1000去启动一下。这回呢,就可以用我们这种方式去启动了。啊,在这儿点右键run as。啊,不过按顺序吧,咱们还是先得把有瑞卡先启动起来哈。先启动注册中心,然后再启动provider,然后再启动。哎,先让尤瑞卡启动起来。
08:02
哎,然后呢,咱们来这儿run as。APP。然后准备好,我们要把这儿改成2000。现在这个是1000的啊。咱们过来再按这个2000,再启动一个实例。这边这应该是不会有什么显示的哈。我们控制台这边哈,咱们看一下。呃,这是以2000的端口号启动的。哎,后边再打印的话是它有一些是和注册中心有关系的。再改一下,改成3000。再启动一个。哎,再让他以3000这个账号再启动一个。
09:09
哎,它启动得有个过程哈。这里边呢,需要注意的是哈,他们的端口号改啊,然后呢,这里边儿微服的名称呢,一定要使用同一个。他们才能,哎,这个被划定成一个集群,你如果端口号也改,微服务名称也改,那么这时候你再多启动的话,它就是不同的微服务了,它就不是同一个微服务的集群了。啊,这个就不一样了哈,这个就不一样了。嗯。就是注意provider微服务名称必须使用同一个名称才能构成一个集群啊,不然就不认定为一个集群了。我们这边有瑞卡这儿刷新一下。你看这儿注册的还是一个,只不过呢,他说我们这儿有这样的是三个实例。
10:03
啊,是有这么三个实例。然后呢,我们这回让consumer去访问一下。啊,还没起呢,对。把consumer抛起来。就是说ribbon我们已经准备好了,我们现在只不过是呃,把ribbon可以看到ribon效果的环境准备好啊,来看一下ribon这个效果。哎,刷新一下。哎,这个我们看一下啊,现在它访问到的是2000的,这个刷新一下三千一千两千三千一千两千三千。哎,是大概他现在也是一个轮询的一个负载均衡的一个策略。所以这时候这个我们就已经能看到负载均衡的效果了。现在呢,是我们浏览器。
11:01
哎,他访问的是我们的consumer。Consumer访问provider。哎,但是provider呢,是有这三个实例。1000。两千三千啊,有这么三个实例,哎,每次呢,因为这里边consumer访问provider的时候,它有ribbon。啊,这个consumer访问rib rib本呢,其实他访问的是我们有瑞卡。呃,因为他手上拿的是我们微服务的名称。他知道想访问的是艾特硅谷provider。这个维福,他就拿着这个微服的名称呢,去找有人卡。有瑞卡呢,他把哎这个信息呢,返回给rib本,把这端口号等的信息返给返回给他,然后这个rib本呢,从里边决定他选择其中的哪一个去访问,然后呢去调用这个provider。哎,是这么一个关系。
12:01
所以说呢,Rib这个功能吧,概括起来就一句话,根据微服务的名称访问,哎,你你这个微服务的一个具体的一个实例。那假如说你这个你不是多个实例,你就运行了一个实例,那就访问这唯一的一个实例了,啊,这个东西其实你是一个实例还是多个实例,对于瑞来说呢,它的工作方式是一样的。好了啊,这个就是我们这个。呃,日本哈,我们也看到了它的这个效果了。
我来说两句