粉丝911获赞8154

好,同学们学完了有瑞卡原理,下边我们就动手实战一下,我们呢做三件事情,第一呢,我们会搭建有瑞卡扫软注册中心。第二呢,我们会完成服务的注册,把我们这里面的所有服务都注册到有瑞卡。第三呢,我们会去做服务发现,也就是拉去, 我们会让奥德赛瑞斯呀去拉取服务列表,得到优德赛瑞斯的所有实力,然后呢利用色彩均衡去挑一个, 那下边呢,我们就来先做第一件事情,搭建有瑞卡制作中心,有瑞卡搭建呢,需要创建一个独立的微服务,所以等一会我们会创建一个新的项目, 然后呢,我们会引入这样的一个依赖,我们可以看到依赖的后缀啊,是有瑞卡 siri, 也就是说呢,他是有瑞卡的服务端依赖,而中间有 有一个叫斯达特,斯达特我们知道属于是 surm bot 里边的自动装配,那也就是说在这个依赖里边啊,已经帮我们把 surry 有瑞卡 被一个所有的这种呃配置都已经做好了,也就是说我们可以做到零配置直接拿来就用了 啊。那么当然了,这种自动装配是需要有开关的,所以第二步呢,是一个注解,这个注解就是有瑞卡 siri 自动装配的开关。 第三部分呢,我们需要去编写一些配置信息,包括端口信息,服务名称,还有我们有瑞卡的地址信息。 好,那接下来我们进入 id 来动手写一写,那首先呢,我们在这里去创建一个新的服务,新的 保留选择 maten, 然后在这里起名为有瑞卡, sorry, 然后 fadel。 接下来呢,我们给这个项目里啊引入依赖, 这个依赖的名称比较长,不建议大家去手写啊,从我的笔记中去靠就行了。这里呢,我有,因为我引入过,所以之前会有提示啊,你们去写的话是没有提示的,所以请同学们一定要采用 cv 大法。好吧, 好,那么引入了以后呢,倒一个包,同学们会注意到,我在引这个一代的时候并没有指定版本信息啊,以前我们在学习死不认步子的时候也碰到过这个情况吧,原因是因为啊,在我们的副工程中,已经把这些一代的版本都管理好了,所以我们可以进 进入啊,可以担保的复工程的泡沫文件看一眼,在复工程的泡沫文件里,我们可以看到 surm bot 的版本,还有 surprod 的版本,并且啊,在这有 surprod 的这个底盘灯 cc 依赖库,我们点进去可以看到 往下翻一翻,这里啊,有大量的 surpro 的的组件及其版本信息,是不是全都定义好了?所以呢,在我们引入 surpro 的组件的时候,我们无需指定任何版本信息。好,我们把这两个关掉, 我们回到有瑞卡 sorry 的一个依赖啊,好,那么这样呢,我们的依赖就准备好了。那么下边呢,我们去编写闷函数,我们找到有瑞卡 sir, 第一步是引进来,第二步,同学们需要编写慢函数,我们新建一个 cn 点 it cats 的点,有瑞卡点叫有瑞卡啊,不勒黑神吧。 然后我们知道闷函数需要加个什么注解,哎,很好, surme bot f 的开身吧,然后 ps v m 这里边写什么,哎, surprise a k 身 点乱吧。然后呢,有瑞卡布拉 k 盛典,克拉斯和阿克斯, ok, 很好啊,那么下边呢,大家还记不记得我们刚才 ppt 上说的第二步要加一个什么样的注解作为开关?哎, n 累不? 有瑞卡, sorry 啊,这就是自动装配的开关了。好,最后一步呢,我们还需要编写一个配置文件 airpleke, 生点阴谋在配置文件里啊,我们要写三个东西,大家还记不记得 哎,第一个是服务的端口吧,三万点炮,他这个端口可以随便起名字啊,比如说我就叫幺零零八六算了,好服务端口。而第二个要配的还记得是什么吗? 是服务的名称啊,是不是应该把它开成点内蒙服务名称呢?其实就是微服务的名称,就是微服务名称啊,就是我们之前, 哎,我们之前在讲犹太原理的时候,我们讲每个服务去注册的时候是不是都要带上名字啊,那么这里就是服务的 名称,我们起名为有瑞卡 siri, 那么有瑞卡自己也是一个微服务啊,所以他也需要一个名字。而且呀,我们还需要再配一个有瑞卡的地址啊,大家看,叫有瑞卡克烂他 siri cll。 这个地址呢,不建议大家手写,因为接下来这一段没有提示啊,比 fox 重,然后 atp, 只要这里写 logo pos 的,或者写幺二七点零点零点幺都可以,好杠用瑞卡, 建议大家从我的笔记上去扣啊,这一段配的是有瑞卡的地址信息,上面配的是服务名称。 那么有些人会说了,我自己就是有人卡,我为什么还要拍地我自己的信息呢?我 刚才已经提到了一嘴啊,我说是有瑞卡,自己也是一个微服务,所以有瑞卡在启动的时候会将自己也注册到有瑞卡上。你没听错啊,把自己也注册到有瑞卡上, 这是为了将来什么呢?有瑞卡集群之间通信去用的,比方说我启动了两个或者三个有瑞卡,将来三个有瑞卡之间会互相做注册,那么这样呢,他们就可以做数据交流了。所以呢,这个地方将来应该配的是不是 有一卡集群的地址啊,如果有多个的话,以逗号隔开啊。现在因为我们是单机,所以呢,我这配的是自己,所以大家不要觉得奇怪啊,那也就是说,同学们注意听了 这里的服务名称和地址,其实是在做服务的注册吧,哎,是为 做服务注册才配的这个信息啊,大家记住我说的这句话。好,那么现在呢,三步走全部做完了。哪三步走?第一步,引移赖,第二步,在启动类上加注解。第三步,配置文件里配信息。好,我们现在启动有瑞卡,找到我们的慢函数, 那么这个时候我们可以在这个塞瑞斯列表当中看到啊,多出来了个尤瑞卡的啊。 而且同学们你可能不知道,有一我们的 id 里面有一个很好的功能啊,就是启动好了以后,你点击这个档口,他会自动跳转到浏览器啊,那我们一起来跳浏览器看一下,看是不跳过来了。这个呢,是有瑞卡在 管理管理界面啊,那上面显示的是系统状态,就是你这个系统的一些时间信息啊,什么之类的,然后最下边显示的是一些通用信息,比如说内存大小啊,什么之类的啊,然后中间是最关键的,哪一段呢?这里啊,同学们,这一段是最关键的, 下边啊,下面这段,这段呢是最关键的,这段是什么呢?这段叫 nstans carrnter 雷瑞 gstuvizu 瑞卡,就是注册到有瑞卡的实力。有的人说什么叫实力?一个服务你没启动 啊,每给他部署一个,对,部署一份就叫一个实力,比方说优子服务,我将来在线上部我部署个十个,那就是十个实力啊,那么我们的呃有瑞卡呢,会 记录一个服务的所有实力。那么刚才呢,我们启动纽瑞卡的时候,我们会说纽瑞卡会注册到自己身上,你看 这就是于凯的服务名称,我们刚刚配的,而后边就是他的什么呀? ip 和端口,这里的 app 代表是正常状态,如果是档呢,就代表挂掉了。但是有的人说了,你这个也不像 ip 啊, 这是因为 windows 的问题啊, windows 他显示的这个地方显示的是计算机名,理论上讲这应该显示 ip 的啊,这个东西你们你把它理解成什么了? logo hous 的就是你电脑的名称,每个人电脑都有自己的名字吗?所以呢, 这个其实就是我们的 ip 和端口,这就是服务名称。那同学们,这里其实就是什么了?同学们,是不是就是服务的实力列表了?这是名字后面是 ip 端口吗?那将来我们是不是可以根据名称找到 ap 和端口?哎,是这样子的啊,这个就是我们刚才讲原理里面的那个地址列表。好,那么有瑞卡的搭建呢?到这就结束了,我们一起回到 ppt 来看一下, 那么我们总共三步走,大家别忘了引依赖加注解,然后配置地址信息,那么这就是我们这节课的一个内容了啊,三步走。

这是微服务的学习路线,今天学的是 unrink, 我们将项目拆分成几个服务,暴露一个接口供其他微服务调用。但是我在调用的时候无法确定对面微服务是否依然健康,是不是已经荡机。然而这些问题都可以用 spring cloud 的注册中心 来解决。其中最广为人知的注册中心就是 urike, 它可以通过心跳健康监测将服务地址注册到 urike, 然后拉取服务地址和通过负载均衡完成服务间的调用。就算有微服务档机,我们可通 过心跳检测快速诊断。首先创建一个用瑞克微服务引入依赖编写启动类,就可以启动注册中心了。然后配置其他微服务,添加有瑞克地址, 启动多个微服务实力。这样我们打开 unrik 管理界面,可以看到其他微服务已经加载进来,然后我们就可以快速的定位到宕机的微服务了。

在伊锐阁中呢,有一个自我保护机制,他是为了防止我们在服务剔除过程中,他可能呢是因为一 短暂的一个问题,他就会把夫呢给保护起来,而不会把他给删除。其实按照正常理解的话,我们在这过程中,我们如果说我们去续约,就好比一个用户去租客,一个租客去交房租一样,如果这个时候呢,如果他没交房租,如果在九十九十,我如果说房东,这个房东来询问我们的就续约过,我去续约 就是发现了,我发现我这个人呢已经过期了,过期以后按正常理解的话呢,我们的抑郁可作中心是应该把你给赶走的,这应该是什么?我这个房东是应该把你给赶走,但是的房东你觉得房东会这么傻吗?他绝对不会, 要不然的话你如果说有钱的呢?突然之你可能是一个一两天没钱吗?是不是要缓一下,他说说这九十秒之后呢?他既然这个的话,我是帮你 赶走,但是不敢,他跟我们现实里面这个租房的是一个概念,我就给你缓冲一下,但是这个缓冲呢?为什么会缓冲?这会触发他里面的一个自我保护机制, 因为可能他里面在运行阶段呢,去统计心跳失败比例,如果在十五分钟之内低于百分之八十五,这里是官方的一个说明啊,如果低于百分之八十五,因为可能会将这些实力保护起来,让这些实力不会过期, 因为呢在保护期内,如果服务呢,刚好这个服呢是非正常下线,那此时呢服务的消费者却拿到一个无效的服饰,此时教育就会失败,就是说后面的话,所以说我们会采用一个垄断的方式来解决,就是黑丝锤来解决。 那么这种东西的话,你可以去把它关闭,把它关闭,但是不要关啊,就是怎么关闭呢?在这里你可以把它关闭在这里。伊瑞克,我们的这个啊,斯瓦这个斯尔夫,我们的 pro 三省,我们等于去 是开的。也就是说你在这个训练过程中,如果说你的服比例在十五分钟之内,你比如说现在有四台,你这里挂一台,那么就还剩下百分之七十五,那百分之七十五就三台吗?四减一,还有三台,三台除以四等于百分之七十五,百分之七十五的话,那么这个比例就已经低于了我们的,是吗?低, 低于了我们的百分之八十五呢,那么接下来就告诉你呢,他就会触发我们的这个红色警告,就是告提示你呢他会是一个什么非正常下线,就代表呢是一个,他会把那个自我保护起来。 好,我们先这样子,那么这边的话我就给大家模拟一个集群,我们首先呢把一瑞可呢先给运行起来,然后接下来呢我们在这个地方把用户服务呢复制三份,你把它这个扩皮一下, 把这个勾给勾上,勾上勾上,勾上以后呢?然后接下来你在这里去改端口,你比莫文干是八零八八,我现在把它改成八零八零八九, 我现在我先改成八零八八,然后呢把它给起起来。好,我把它起起来啊,把它起起来,然后接下来呢我们把它改成八零八九,我就起来,请注意在这里起,你不要在这里起啊,在这里起的话啊,在这里 或者说你在这里再起一下。好,他继续会启动八零八九或在这里起,否则你别就在这里起啊,你在这起的话是把八零八的覆盖成八零八九了啊,你要么在这边起,反正就是好,原来八的干车八成九零,好,我再改一台八零九一 连这里就被覆盖掉了,八零九零在这里起了啊,好,然后呢?八零八九, 八零八八。好,四台机器都运行起来,然后呢我们会把它注册到我们的一瑞可中那注册了八零八,嗯,这个八零八零怎么来了?八零八零 好几台,九一二三有五台啊,八零八零那台呢?我也记下来,是不是?好,都记下来,因为内存里面有台没关掉好吗?就这里呢,总 总共有一二三四五台,五台,以后呢就一台、两台、三台、四台、五台、五台、五台。机器那状态,现在都是暗部状态,那肯定是没问题的。那现在的这样子,我先去挂,就挂掉一台,比如说我把这个八零九零这台给倒不掉, 是倒不掉以后呢?好,按正常理解的话,我们的续约他现在续约呢,维持心跳,每隔三十秒会触及一次他的心跳,就是我们这个中心这边呢就会开始来维持他的一个心跳。 好,我就心跳站着,我把它全部撕倒不掉,我再给你们来一遍啊,请注意观察啊,首先我改成八六八八这里一台走你好,然后呢?八六八九走你,一台, 在八零八九有走你,八零九零一台的走,你。好,八零九一,好,一台走你。 然后接下来我们看这个伊瑞可做的中心,这里他到底在做什么事?那他现在就去注册呢,注册了,八零八八八零八八八零八九八零八九, 那并且他首先是为分片的,现在的话就是分片,现在的话都已经全部把它分片,分好,分好,好,八零九一,八零九二,应该是为什么这个地方下线,下线的原因是因为他这里有一台的,是不是?八零九二,好,再走,你 说明这个注册中心呢?已经把八零八八八零八八零八八八九九一九二,他待会呢全部会把它给注册上来。这个地方开始是一个没有分片啊,就是没有复制,那现在就把它复制了,就说明他们已经做了鸡圈了。八零八二又上线了,上线以后呢,说明我们的四台福气呢,都已经 正常能够运行在我们的伊瑞克注射中心里面了。在这里,那现在就说我这样子做,那这个地方他就会把它给注射上来啊,全部完成, 全部完成,这是玉壶壶呢,现在呢已经完成的续,续约了。那八点九一续约一次啊,瑞六续约一次,每隔三十秒就会来续约一次,每隔三十秒就续约一次。 好,我们再来观察别的啊,而且你会发现我们八零九一的状态呢,是阿普,是一个我们什么是一个我们的一个活正常状态。好,这个地方呢,就会啊,运行一个我们的自我保护机制, 我们来看别的夫妻啊,稍等一会,好, 八零八八八九九一九二,好,先放在这里啊,我们先不管,就 note 翻了。 reno, 我们的八零九一,八零九一,好,现在呢?八零九一续约成功,说明这些都是没问题的。先站着, 我现在挂一台,比如说挂两台吧,把它挂掉,挂掉呢,我们不能正常挂,我们现在要用这种非正常下线,就非正常下线的话,就是用我们这种 gps, 我随便挂两条吧,比如说幺零八九二幺零八九二幺零八九二,好,这下挂了请注意观察,他就会把 给挂掉。挂掉好一台,还有幺七五四五二幺七四五二幺七四五二,撤回车好两台呢,就已经挂掉了。挂掉,挂掉以后呢,我们这个时候呢,这个处 我们就会触发我们这个地方的一个什么,哎,一个我们的一个检测了,就是我就给你检测九十秒,当检测九十秒了,按正常利益的话,我说你没交房租,我应该是把你这两台机器看完从这里面赶走, 那他会赶走吗?不会,因为它里面呢会有一个保护机制,那保护机制是这样的,墨是开着的,就是他不会赶走,他会说我把你保护起来吧, 搞起来就说。那么这个时候呢,他就会触发把握机制,他就说在短时间内发现有百分之十五的服务,如果是短暂的挂掉,那么在生产环境是非常危险,如果任继续我们一块挂掉的话,那生产百分之八十五的夫妻会全部也会挂掉,那么会把服务的进行剔除,会造成百分百扶起来,全部剔除完毕, 那么就是因为可能他没有这个服务地址信息,他就会根据消息去解句什么,说白了他就会干嘛,他就会把它保护起来,说白了就会把它给保护起来, 你看这句话就说他会把那个宝 护起来,就是十五分钟,比例低于百分之八十五,这个时候伊瑞可就会触发自我保护剂,一旦开启保护机制做的服务呢,他的服务实力就不是那么准确了。其实就是说我们可以呢把它给关闭,但是不建议关闭,不推荐,不推荐,就是这样话在 这样可以确保我们做的东西呢,不可不可用的服务被及时剔除,但是我们不要剔除一句话,因为可能如果发现百分之十五的迅速失败,那么可能服务是可以用的,那么一会会失效服务,一会可以把百分之八十五的继续。 就说看上面这句话就可以了,就是你记住就可以了,他就说如果说你在百分之, 如果说你在我们十五分钟之后,那么接下来呢,他就可以继续,如果你能够在十五分钟之内能把福修好,那么他就会继续来帮你去完成续约。如果在十五分钟之后,如果说你还没修好的话,他就会出现我们的红色警告,就这里 记住一下啊,好,这种我们看一下,他要一点时间啊,这个地方不会马上出现红色,你可能要等那么几分钟就可以了, 这就出现了我们这个红色错误,请注意这只是一个红色错误,这是一个警告,并不是错误啊,他只是告诉你这里有服务坏坏掉了,有服务坏掉,但是你去获取服务呢?这服务都在,我再告诉你,那八八,我们的八九,那我们的一个啊,八九二, 还有我们的九一,那都在这里面,但是呢他其实有两台服务器已经挂掉了,那你思考一下这会引发什么问题?那你思考一下,如果我在这里 保持过程中,可能就会引发出我连有的服务正常,有的服务不正常,因为我现在没有负责均衡呢,我待会讲个负责均衡,我现在是谁呢?是不是呢?就挂掉了,这里就会有的是好的,有时是好的,有时是坏的。那你比如说八九这个夫妻呢?是坏的,他待会请到我们的八九零呢,他又好的,就这个意思, 就这个意思啊,因为待会我们恢复的均衡给你们测更加明显,他就说可能呢,你会在里面去拉符的过程中,他肯定呢就会拉去到坏的符,那这个坏的符的话就会有问题了,那就会出现故障,就会报错,那这种错误呢,是非常越恶心的。其实有 我们后面那个垄断,就是我们的黑水,在某种层的时候就是来解决这个问题,因为我们的抑郁可能有自我保护,他可能在一些网络抖动的情况下,他的服务比例低于百分之八十五的时候,他就会把那服呢好的坏的全部保留在里面。所以说一旦保留,那 就会引发那个问题就错误,因为我们的服务有负债均衡,有负债均衡,他可能会掉入到那些被保护的那些坏的服务里面去,那这个时候就会报一个连接超时错误,那说是这个时候的话,我们如果有个垄断的话,那就是极好的东西,那这样的话一旦报错,那么不好意思,我就直接给他替立一个牌法,就是说服务满,请稍后再试,就这个意思, 现在的话呢,你一看就可以了是不是?那么接下来我们再找你,那又可以了是不是?那这个就是我们的这个啊?啊?他里面待会你刷几下呢?他又,他又失败了,他可能反问到那些话 的服务他可能又失败了,我这就不再试了啊,然后接下来你去刷,去刷刷刷刷,他一直有红色,那如果说你把它关掉了也可以,但是不要关,各位不要关,就这里你把它改成放肆就可以了,不要关,因为这种保护机制是一个很好的东西,就是说代表我看了这个 自我保护的话,以后未来就是一定一个警醒的作用,以后呢我就直接可以去干嘛?修复服务,直到把它修复正确为止,一旦正确为止的话,如果服务一旦都正确以后,那么接下来呢,这个警告呢?会自动消失, 他会自动消失,那你现在把它关掉了,关的关掉的是这样措施,他说你已经把我们这个自我保护之机的机制把它给关了。他说啊,你是否要这样做?他说啊,在我们的什么什么一些我们的这个没有任何的工程实力里面过期呢,你要去注意一下就可以了。这个问题 他是给你个提示,但是一般来说我们是补光,就是一个这个大门呢,把它给可以注视掉,等所有的服务都正常的一个啊,恢复以后呢,我告诉你呢,他接下又是可以呢,完成我们的这个注册,这个红色警告呢也会消失,那他待会就会消, 他待会就会注册上来啊,那他待会又会去注册我们对应的服务了,把用户服务这两台来开始注册,注册八零八八,八零八九去注册了,和九二应该是九二啊,八零八八注册上来,那这里就会有一台了,那是不是 和我们的八零八零,那九二也注册上来了?那接下来我们的订单服务也会注册上来,那订单服务在这里注册了,是不是说明这个东西呢?就已经完成我们的这个注册发现。 但是如果说你又去下线了呢?但如果你这属于正常下线,正常下线呢?我告诉你现在在关闭,这属于正常下线,属于正常下线的话呢?他不是异常,不是异常的话他是也不会,他里面的保护机制也会触及,你别以为就说非正常下线,正常下线也会触及啊?只是正常下线呢?他会把那个他 过一段时间以后就把它改成大,再把它踢掉,就踢掉红色警告可能就不会爆出来,就这个意思。好,这我就过了啊。

车库门如果突然打不开,别急着怀疑电机问题,可能藏在这个看不见的地方。现在看到的这个,就是很多车库门原装的内置弹簧系统,它的特点是外观看起来很干净,弹簧藏在管子里面,平时你几乎看不到它。 优点是简洁美观,缺点是如果弹簧损坏比较难发现,这就是已经损坏的内置弹簧。 弹簧一断,车库门的重量平衡被打破,门会变得非常重。这时候千万不要硬拉,也不要反复摁遥控器,让电机硬撑车库门。电机不是健身教练,他扛不住几百磅的门,天天做深蹲。 我们这次做的是把损坏的内置弹簧更换成外置扭簧系统。外置弹簧的好处是结构更清楚,后期检查、调节和维修都更方便,以后如果弹簧状态有问题,基本一眼就能看出来,不用再像拆盲盒一样去找故障点。 更换完成后,可以看到车库门开关已经恢复顺畅。一个好的弹簧系统,不是让电机拼命工作,而是让门本身保持平衡。 简单说就是弹簧负责出力,电机负责优雅的开门关门。专业的维修,修的不只是能不能动,而是让整个系统更安全、更耐用。

好,同学们,接下来我们就进入第三节的学习,有瑞卡注册中心。在这一节里啊,我们会聊一聊之前案例中所存在的一些问题,以及有瑞卡如何解决这些问题。 然后呢,我们会带大家亲自去操作一下,看看游水卡怎么去使用。下边呢,我们就进入第一部分, 我们来回顾一下之前的案例啊。在之前的案例当中,我们有一个订单服务和一个用户服务,订单服务呢,需要远程调用我们的用户服务,他采用的方式啊,是发起一次 htvp 的请求, 不过在我们的代码当中,我们是将 uziz 服务的 ip 和端口硬编码在代码当中的啊,那么在这样一种写法 话,他其实是有一定问题的。你想一下呀,在我们公司里面开发的时候,我们会有开发的环境,测试环境、生产环境等等,每一次环境的变更,可能服务的地址也会发生变变化。 那如果你采用硬编码的方式,难道说每一次你都来重新修改代码,变异打包吗?而且为了将来应对更高的并发,我们的优的服务可能会部署成多实力,形成一个集群,比方说我们有八零八二,八零八三,八零八一, 那么这个时候你的硬编码到底该写谁的地址呢?如果你永远写的是八零八幺,那另外两个存在的意义又是什么呢?所以这里一定不能采用硬编码。那问题来了,如果 我不做应编码,那这三个人的地址我该怎么样去获取呢? 那万一以后又有第四台,第五台呢?所以服务消费者到底该怎么样去知道这些提供者的地址? 而且就算有一天你真的拿到了他们的地址,那么有这么多台,我该怎么样去挑选其中的一台去使用呢? 就算最终你挑中了一台,那么你怎么知道你挑的那台他是不是现在依然是健康的呢?万一他挂了呢? 是不是一堆的问题啊?同学,我可没有想要劝退你啊,这些问题虽然很多,但是 是我们的有瑞卡是可以解决他的,来,我们一起看一看。在有瑞卡的结构当中,他呢分成了两个概念,两个角色,第一个角色是有瑞卡 siri 就是服务端,他呢 名字叫做注册中心,其他的作用是记录和管理这些微服务。而第二个角色呢,就是我们的优的 sos 服务提供者和奥特斯维斯服务消费者,不管是提供者还是消费者都是微服务,所以统称为有瑞卡的客户端 啊,就就是上门来的都是客户啊,这意思。好了,那么我们的优的 sos, 他在启动的那一刻会做一件事情,会把自己的信息 一注册给优瑞卡,注意了,是每一个服务启动时都会做这件事啊,只要你是优瑞卡的客户端,都会做这件事,就来了,你都先记下名字,那么优瑞卡会把你的名字啊记录下来,比方说你的优乐 siris 名称,你的这个 ip 端口, 甚至于啊,如果你是个消费者,那你来了我也会去寄,也就是说,为什么?因为你只要是微服,都都有可能将来会提供服务给别人,所以都需要被记下来, 对吧?好的,那么全都记下来了,所有的服务信息都在这了,那么这个时候有一个人想要消费, 比如说奥特赛维斯,那么他不需要自己去记录信息,怎么办?他找优瑞卡说,哎,我想找找优乐赛维斯,你帮我看看有没有那么有。瑞卡 一看说,哎,这有,刚好还有仨呢,那就给你呗。于是我们的奥特服务不就拿到地址信息了吗?你看我们的第一个问题是不是解决了,尤瑞卡帮你去记录信息,你只要找他要就行了。 好,现在我们拿到了服务的列表信息了,有仨呢,我怎么办?我得挑一个呀。所以这个时候啊,就会用到我们以前所学过的负载均衡的知识,从这三个里边挑一个出来,比如说挑到了八零八幺,那下边不用说了,肯定是向他发请求呗。 啊,那么有的人会讲了说,那你挑的这个,他会不会是挂的呀?哎,这个可不会,为什么呀?因为啊,我们的福每隔三 三十秒钟都会向有人卡发一次心跳,来确认一下自己的状态啊。 那么如果有一天他不跳了,你想想看,你摸着你的胸口,你感觉不到跳了,你说你怕不怕,对不对?这个时候呢,有人看一看,哎,这,这哥们怎么不不想我翻请求了,是不是挂了呀,就会把他从列表中剃掉,比方说八零八三,有一天他不跳了, 那么这个时候呢,有利卡就会把它从列表中剔除,那么奥特斯维斯再次去拉取时,你觉得还能拉到八零八三吗?肯定不会吧? 对,那么这个时候呢,他就相当于是感知到了服务提供者的健康状态了。 假设说现在又新启动了一个服务,叫八零八四,那启动那一刻又会去注册吧,那么这里就会有新的列表信息进来,那么奥特斯维斯再拉去时,是不是又拿到新的信息了?哎,也就是说,我们的消费者能够随时监控到 服务的状态。好了,到这有瑞凯的基本原理我们就说完了,我们呢,回头再回顾一下刚才所问到的三个问题, 消费者如何获取提供者的具体信息,需要你自己去想办法吗?不用, 因为每一个提供者启动那一刻都会向有人卡注册,而有人卡就会保存这些信息,你要做的事就是根据名称找 有瑞卡要就行了,所以这个问题解决了好。第二,那如果有多个提供者,消费者该怎么选呢?哎,我们之前聊了用负载均衡,我们以前学习 nx 里面是不是就有负载均衡啊,这样一些算法去做就行了。 而第三个问题,消费者怎么感知到提供的状态的?哎,还是借助于有人卡,我们的提供者呀,会与 尤瑞卡维持一个心跳,每个三十秒发一次啊,而尤瑞卡呢,会去记录这些信息,万一哪一天你不跳了,我就把你踢掉,那下次消费者再来,不就不会拉到这个挂掉的服务了? 这就是有瑞卡解决我们之前那一脑袋问号的具体方案了, 所以你再也不用担心这些问题了。那我们这节课呢,基本上就到这里了,总结一下, 在有瑞凯的架构当中啊,他分成两类角色,一类叫有瑞凯 sorr, 一类叫有瑞凯 clant 客户端,有瑞凯萨尔端呢,负责记录服务信息,还有监控心跳 啊,所以呢,他被称为注册中心,有一颗客户端呢,它里边有按照 这个具体的业务分成,提供者和消费者。比如说优的萨瑞斯在这个案例中是提供着,那么他呢,就会注册自己的信息到有人卡,并且每个三十秒去更新一次 啊,告诉他我还活着。而我们的消费者,比如这里的 out, 他就会重复 有瑞卡, sorry, 拉去服务列表,然后呢,去负载均衡挑一个。那么当然了,我们上一节讲过, 任何一个微服务,他都既可以是提供者,也可以是消费者,那假设说我们的奥特色也是有一天也在提供服务,他也应该去做服务的注册能理解这意思吧。哎,好了,那我们这节课的内容就讲到这里。


还是你师姐他接了上篇的。嗯,上一张回忆一下。太阳为开, 少阳为疏,阳明为和,那么阳明为和,他比如说面部中风,他眼睛闭不上,那阳明是负责和的,那他闭不上,一定是阳明出了问题,阳明精气不够。 那假如说眼睛闭上了问题,因为太阳经的是管开的, 属于太阳经的问题,同样以此类推。皮肤,那太阳呢,是主外的毛孔啊,会开会合就打开呢,就是太阳经,合起来呢,就是阳明经。那当并邪在表的时候啊, 感到了外在的风,邪一进来的时候,一定是太阳,因为太阳经是代表吗? 所以皮肤表面的时候,一定是在太阳经。那全身最大的太阳经,从脚一路整个到背。我们都知道足太阳膀胱经嘛,从脚的至阴, 一路到眼睛的睛明穴,那么这么大的一条经络呢?这个上面啊,太阳经受病的话,一定是在后背和向部的地方,由于它是在表最表的地方,那人身上,如果我们去抗争的时候, 我们的体力跟外在的病邪抗争的时候,就会产生有寒有热的现象啊,那这个就是太阳的问题,太阳就因为病在表,如果说病没有 办法把这个表给他治好,那病进入到身体往里走了,那就有两个往里走呢,有两个,一个呢会是邵阳,一个呢是阳明。那如果进入到阳明呢,病他就停了,不会再进了,就到此为止。因为阳明呢,他是热症, 不体现寒症,所以看到的通通是热症。那太阳有发热,阳明也有发热,可是太阳呢,有寒有热,阳明是没有寒热的,只有热症,那这个就是阳明。 所以有的人说,哎,比如说五十五岁以上的,呃,老人太太,那他你要问他,他说大便好不好?便秘多久了? 那一般人有的说很久了,所以阳明呢?他如果很久了他都不会容易出事, 不会有太大的太大的问题或者病证,因为他不会转经,就从这个经络的病转的更多,那他就会到此为止。啊。那第二个呢?我们说如果进来了,因为从表及里嘛,再及里嘛。那第二条路呢?

一到春天就打喷嚏、流鼻涕,眼睛痒到睁不开,别再怪花粉了,百分之九十的人都不知道,这根本就不是过敏,而是你的身体还没有更新到春季模式。有没有一些过敏性的人,就是一到春天就跟渡劫一样, 鼻子堵、眼睛痒,连出门都要全副武装。其实从传统的智慧角度来看,这真的不是花粉太猛,而是你的身体系统还没有来得及跟上春天的升发节奏。今天我给大家讲的最核心的第一步就是顺时养阳,给身体充上电。 春天对应阳气的生发,你要是还在熬夜睡懒觉,阳气根本就升不起来,身体的防御系统就直接反弹了。那么记住这两个关键的动作,一、早睡早起,跟着太阳的节奏走,别再熬大夜了。二、要多晒后背,尤其是上午十点到上午九点到十一点的太阳, 晒后背等于给身体的氧气充电,把换季的漏洞给补上。那明天我将会给大家讲为什么出汗后是过敏的高温时刻,以及怎么守住皮肤的这道防御墙,记得蹲住哦!

呃,你聊一下这个 spring 的 一个事务传播机制吧。嗯,有愉快的。愉快是 new sports 这些具体的记不太清的。嗯,面试的时候你要让面试官感觉到你懂,而不是只会说几个名词 啊,后背几个名词是拉不开跟别人那个差距的,我跟你捋一捋。首先你要告诉面试官什么是传播机制,如果你担心简历上的东西讲不出来,我已经把面试经常问到的一些技术站,产品集都整理在两百万字的一个面试文档了。 面对每个知识点都有很详细的一个解析思路,只要你是我的粉丝,留言六六六就可以打包带走。简单来说,就是当我们在加了一个 transactional 注解的一个方法 a 里面去调用另外一个,也加了 transactional 的 一个注解的方法 b 时, b 方法的一个事务行为是怎么样的?它是新开启一个事务,还是沿用 a 的 一个事务,或者有其他的可能? 传播机制就是用来定义 b 方法中事物的一个行为的第一个 required, 它默认的一个传播行为,如果当前有事物就加入,没有就新建一个。第二个呢? requires new, 不 管当前有没有事物,都新建一个事物发起旧事物。第三 个 suppose, 当前有事物就用,没有就算了。第四个呢? master 的 嵌套事物,当前有事物就嵌套,没有就新建。其实就是基于事物的一个 save point 的 一个机制,外层事物开启后,内层事物可以读 力提交或者回滚,但最终受到外层事物的一个控制。掌握这几种传播机制,就能够帮我们更好地去管理事物的边界,避免数据不一致的问题。

嗯,跟我聊一下 spring 事物的一个传播机制啊, you require, requires new, 嗯, sports 这些具体的记不太清了。嗯,面试的时候啊,你要让面试官感觉到你懂了,而不是说只是说几个名词。呃,靠背几个名词呢,你是拉不开跟别人的差距的。如果你担心简历上的东西讲不出来, 我已经把面试经常问到的一些技术站场景题都整理在两百万字的面试文档了,里面针对每个知识点都有很详细的解析思路, 只要你是我的粉丝,留言六六六就可以打包带走,我给你捋一下啊。首先呢,你要告诉密室管什么是传播机制,简单来说呢,就是当我们一个加了 chains 注解的方法 a 里面去掉,另外一个也加了 chains 注解的方法 b, 那 b 的 事物到底是怎么样子?它是新开启一个事物,还是源于之前的事物?或者有没有其他的可能? 那么传播机制就是来定义 b 方法里面的事物行为啊,有七种对吧?主要的话呢,你要记住四种啊,第一个呢,就是 record 啊,默认的传播行为,如果当前有事物,那我就加入,如果没有,我就新建一个。 而第二个呢,就是 rocos new, 对 吧?不管你当前有没有事务,我都会新建一个事务,然后之前旧的事务呢,我会挂起。而第三个就是 support, 当前有事务就用,没有就算了,还一个你要注意一下的就是 nestit 切磋事务就当前有事务我就切磋,没有就新建。其实呢,就是基于事务 so point 这个机制,就是保存点这个机制啊,来去实现的 外层事物啊,开启以后呢内层事物啊你可以独立的提交或者回滚,但最终呢还是受外层事物的一个控制,因为它还是在外层的事物里面去做的。呃,掌握几种传播机制啊,能够去帮助我们更好的去管理事物的一个边界,然后避免呢数据一致性的一个问题。

大家好,今天给大家讲解一下十分 clue 的项目构建。首先我们学习任何东西一定要去官网上去看官方文档,这样的话才能更好地理解做的思想。第一步我们先百度一下这边十分官网,点进去,这边是他首页, 点击左上角菜单,下方有 colo 的,然后点击这边是 colo 的简介告诉我们 colo 的是一个分布式的一个项目架构,然后下方是它的一个架构图,再往下是它的一个组件, 哎,首先我们要理解这个 swinkle 的由来,就是刚开始我们编程的时候是一个单一的,就是呃业务,很简单的一个应用程序,后来就是业务变得很复杂,嗯, 大家就想着代码去拆分一下,然后更灵活一点,然后后来感觉拆分了之后也是额度太高,然后最后形成这种就是面向服务的一种编程就结构。 其实代码他最终发展的方向就是代码的一个灵活性,代码的一个副用性,代码的扩展性这三个方向去发展的, 这是一个进化的过程,可能同学们学的时候可能学会了,其实不知道他为什么要去这样去构建,只有当你 从零开始,然后去构建项目,然后慢慢的做一个很庞大的系统,这时候才会到最后才会想到这个代码去怎么样去 去构建才是最好的。下面我们来看一下他的组件,第一个是,嗯, get y, 这边是网关,就是用来转发的, 然后这边是维基斯特,这边是服务注册中心,然后配置中心 configer, 然后这边就是他的服务。 我们先看一下这个注册中心这边,他告诉我们可以用这个 urek, 还有 console, 还有 rookip, 我们先用 urek 来进行构建一下,然后下方是他的一个构建指南,点击进去, 这边是教会我们怎么样去构建这个 urek, 嗯,注册中心这边是它的一个必备的 一个环境,我们可以去这个地方去下载他的一个项目,也可以这边去自己去构建,他这边提供了一个构建的地址, 那这边就可以选它的一个主键,那 g d k 的话,大家可以自己选一下,可以选 啊, smart 版本可以自己选一下,然后上面是 java, 然后这边可以选择 money 项目,然后格尔多也可以 啊。下面的话这边是一般是公司的域名, 下方就是项目的名称,然后这边是 g d k 的一个版本,然后点击生 tom 收藏之后,这边我们下载完之后把它解压到某个步骤就可以了。这边解压好之后,我们打开 id, 然后选择刚刚的文件 fall, 然后 open, 然后导入就可以了。 这边项目导入成功之后,我们继续往下看他的官方文档,然后下下方是一个启动这个注册中心啊,首先我们把他的代码给靠过去, 然后我们先展开这边的项目, s r c, 然后慢加瓦,然后这边 upload 开启,然后这边它需要配置它的一个 urec, 搜啊这边,然后 copy 上去, 然后再继续往下看,然后下面是他的一个配置文件,我们把这个配置文件考虑过去, 这个配置文件是放在这个 resource 下面的,然后 uplike, 然后复制上去, 这样的 我们来启动一下, 我们运行一下这个启动类, 这边启动成功,我们可以看到他的一个端口,嗯,八七六幺这个端口也是在这边配置的。然后我们下面用浏览器来访问一下 八六七八七六幺,这样的话这个就启动成功了。然后 urek 我们服务就构建成功。嗯,大家也可以把 这个给 copy 过去,然后放在里面一起执行。 嗯,后面的话我们会讲,嗯,其他的一些项目。