粉丝4.0万获赞20.3万

哈喽哈喽,同学们,大家好,在我们日常开发当中呢,经常会对配置进行管理,那么大家是如何去做的呢?我这边是使用的线上配置,然后线我使用的是 narcos 的一个线上配置中心。 呃,那么那么大家是如果使用 narcos 的话,大家是如何去呃,把我们 narcos 线上的一个配置,然后持久化到我们自定义的一个买塞口当中的呢? 呃,今天我就给大家分享一下。呃,既然我们要使用 narcos, 那我们肯定要去人家的官方呃, narcos 的一个官网,对吧?然后去 github 把我们把对应的一个呃, narcs server, 当然我这边是一个 windows 环境, 我这边下载是已下载的是一个 windows 环境的一个压缩包,然后我们下载下来进行解压之后, 然后会进入到这个目录,进入到这里面有一个 config, 既然我们要把线上的配置,然后保存到我们自定义的数据框当中,那我们肯定要修改一些配置,那我们点击点开这个 application properties, 然后里面我们会针对这个数据库,我们改成我们自己的一个数据库,当然我这个 c, 比如说我这边建一个 ct 数据库,当然我这个 ct 数据库还没有建出来,这边是我的数据库,呃,数据库的一个用户名,一个用户一个密码,对吧?然后我们 我们保存,然后点它,我们点完之后,点完之后呢,我们去到数据库里面去 create create great database, 对吧? database 的一个 city, 我们刚才写的是一个创建 ct 的水库门运行,然后我们在这边点击一个刷新,刷新之后我们可以再找到这个目录,这个目录我们发现下载下来之后有一个 narcos, 买 circle 的点 circle 文件, circle 脚本,那我们在这边就去 运行塞口文件,对吧?我们找到它,然后 nicos, 然后开始,然后运行完之后我们刷新一些表,这是 nicos 官方提供给我们的一些表。呃,然后我们在这边现在是线上什么配配置都没有,那我们现在, 呃去现我们我们再次来到这个 narcos 的一个 narcos 这边的一个目录,我们点击面变变目录下面有一个启动文件,我们点击 这就在启动我们的一个 narc 时, 啊,好,这边已经启动完毕。启动完毕之后我们打开浏览器,我们在这边输入我们的一个 幺二七,然后他这边会有一个纳克斯的一个配置,对吧?现在是一个全新的一个配置,呃,那我们现在比如说我们,呃可以建一个命名空间,对吧?新建命名空间,比如说我们建一个 tv, 第一位开发环境,对吧?空间命名也是第一位描述的话就是一个开发环境配置,对吧?然后我们建完之后,我们在这边他会多出来一个第 以为我们在这个 dv 里面,然后去添加一些,添加一个,比如说我们的 apple vacation, 然后杠 dv 点点压秒,对吧?然后在这边的话,这边我们比如说把我们的配置,然后 粘到这边,然后选他的一个格式进行发布,然后我们发现在发布成功,对吧?我们看一下,查看我一下我们的数据库,我们刷新 它会在这边多出来一些配置。我们刚才建的这个 uplike 是在这个 content 里面就是我们的配置,然后我们持,一旦我们持久化之后,即使我们荡机了,对吧?即使荡机了,我们下次再重启我们 ninecost, 它也会读这里的一个配置。然后我这边 有一个腾,呃,腾的音否,他就是一个空命名空间,命空间,我们在这边就是刚才建了个第一位,第一位开发环境配置,对吧?他在这边会通过通过里面的一个,我们看一下这边有一个 tend id, 它会去通过这个 tend id 去区分你这边到底是 public 还是 dv。 比如说我们这边还有一个生产环境,有一个测试环境的一个配置都可以建一套,然后对应的我们就把我们 narcost 的一个配置,然后呃自定义的持久化到我们这个库当中了。好,今天分享就到这里,谢谢大家。

大家好,今天给大家分享一下 lacos 为授权访问漏洞,需求背景是只知道公网服务器 ip 渗透,进入 lacos 获取所有配置信息。首先我们需要先安装一个 lacos, 这里从网上下载了一个 nos 三五安装包,版本号是二点幺点零。接下来我们把 nos 上传到服务器中,这里我们等待一下,上传成功之后我们进行解压安装一下。我们首先第一步先进行解压, 到这里我们已经解压出来了, 接下来我们进入拿火死目录下,再进入他的变影目录下 后启动一下。那接下来呢,我们打开浏览器访问一下 八八四八端口,然后是拿口四,此时的话我们可以进入到拿口四的登录页面,那他末日的账号密码是拿口四, 那我们登录进来呢?这里先创建一个配置,那这就随意取名, 然后发布一下。比如我们在不知道 nicos 账号密码的情况下,那我们怎么能够登录进来并且获取它的配置呢? 这里首先我们打开 pose 浪漫在这里呢,我们只需要发送一个 pose 请求来进行添加用户,这里的用户名我们随意 取一个叫 qwe, 密码叫 qwe, 然后我们发送,我们可以看到返回是成功的。那这里有一个疑问,那这个用户是否添加成功了呢?那我们拿着用户名密码来登录一下试试。 我们先把之前的拿 hose 登出一下账号 q w e, 密码是 q w e, 我们提交, 此时的话我们会发现我们用心注册的用户也是能够登录进来这个界面的,而且他的配置我们也能够看到这有详情,而且还可以进行删除和编辑操作,那这样的话我们的所有的配置已经是不安全的了, 不过在这里我们是看不到用户列表的,那我们如何能够看得到用户列表呢?接下来 来我们继续打开 poser ma, 然后我们把这一个地址改变一下,请求改成 get, 那这儿参数呢?是 pace number 等于一,并且 pece size 等于九,我们来请求一下, 此时我们可以看到请求的返回,把所有的用户信息都已经返回出来了,那有一个用户 nos, 还有一个我们新注册的用户 qwe, 那这样的话我们就可以能看到有哪些 nos 用户了,今天就讲到这,谢谢大家。

mark 的配置中心动态刷新原理一般配置的动态刷新无非是两种模式啊,一种是铺模式,有时主动去拉取,客户端会定时主动的去服务端查看配置是否有改变。而 而这种模式呢,有一个很明显的缺点啊,就是咱们的客户端要频繁的对服务端进行请求,那么请求的间隔其实不太好设置,而且呢,时效性也不是很好。 而另外一种呢,是 pose 模式,也就是服务端主动去推送,那就是服务端在检测到配置发生变化之后,主动通知给客户端,而这种方式很明显的实效性会更好。 但是呢,服务端需要维持与客户端之间的心跳连接,那么服务端就要消耗大量资源来维持这种心跳,那两种操作各有利弊。而 扣子的设计就非常的巧妙,它是结合了上面两种模式,通过客户端每十毫秒向服务端发送一次请求,那么请求时会在请求头上携带长轮巡的超市,时间默认是三十秒, 而当服务端接收到客户端的请求时,会挂起一段时间,而在这期间,如果配置发生变化,就会立即享给客户端,如果没有变化,客户端再重新发送请求就可以了。 那这样一来,不需要客户端频繁的去发送这种请求,而服务端也不需要去维持心跳,实质性也是非常不错的。 而本质呢,其实就是由服务端来控制响应客户端的请求响应时间,从而减少客户端无效请求的一种优化手段。哈哈哈哈哈哈,腰疼!

nikos 呢,作为阿里的开元中间键加入到斯内科拉尔的神态以后啊,不管是作为配置中心还是作为注册中心,他的简单应用的特性呢,在互联网公司被广泛运用。最后呢,大家会发现 nikos 相关的面试题也变得越来越多了。这不,又有一位工作八年的小伙伴被问到这一道面试题, 说请你详细介绍一下 nikes 客户端是如何去实现配置动态更新的。那今天呢,我给大家分享一下我对这个问题的理解。另外呢,我把往期分享的视频全部整理成了一份二十万次的文档,后续呢,还会连更希望呢,能够以此来提高各位粉丝的面试通过率。 想获取的小伙伴可以在我的个人主页简介中找到。下面呢,我给大家分享一下我对耐克斯配置的动态更新的原理的理解。首先呢,耐克斯采用的是长轮巡的方式,也就是说由 nikes 客户端向 nikes 服务端去发起配置更新的查询请求。所谓常轮巡呢,就是指客户端发起一次轮巡请求到服务器端之后,当我们的服务端的配置没有任何更新的时候,这个时候呢,连接会一直打开,直到服务端有配置更新或者是超时之后才会响应返回。 而耐克斯的客户端呢,需要去获取服务端变更的配置内容,但前提是他需要先去进行对比,也就是说他要将客户端本地缓存的配置信息和服务端获取的配置信息进行比较, 一旦发现本地缓存的配置内容和服务端发过来的配置内容有差异的话,那么就表示服务端的配置有更新,于是呢,把更新的配置拉到本地,在这个过程中呢,有可能会因为客户端的配置比较多,从而去导致对比的时间呢也比较长,使得 配置同步的效率就变得非常低了。于是呢, nikes 针对这一个场景,他做了两个方面的优化,第一个呢是减少了网络通信的数据量,他是将客户端把需要进行比对的配置,然后按照配置项进行分片,那么每个分配的大小呢是三千项, 也就是说每一次最多能够拿到三千个配置项去 nikes 服务端进行比较。第二个呢是分阶段进行比较和更新。首先呢,第一阶段是客户端会把三千个配置项的 t 以及对应的 w 的 md 五值拼成一个支付宝, 然后呢将它发送到耐克斯服务端进行判断。然后服务端呢会逐个比较这些配置中的 md 五不同的 k, 把存在更新的 k 再返回给客户端。第二阶段呢,就是客户端拿着这些数据有变更的 k 循环,足够去调用服务端,从而去获取这些 k 对的 外流值。那么这两个优化的核心目的呢,是减少网络通信中的数据包的大小,相当于是把一次大数据包的通信拆分成了多个小数据包的通信,虽然会增加网络通信的次数,但是呢,它提高了整体的数据传输的性能。 最后呢,再加上长轮旋的方式呢,既减少了破耳轮旋的次数,又利用了长轮旋的优势,很好的实现了配置动态更新的同步功能。好了,以上就是我对耐克斯配置动态更新的理解, 我是被编程耽误的王一汤,如果都分享对你有帮助,请你动动手指,一键三年分享给更多的人!关注我,面试不再难!

大家好,今天和大家分享的是搭建 nex 原码调试环境,打开 nex 的官方文档,这边有一个快速开始,快速开始的话主要是来介绍一个 nex 单机压缩包,下载之后解压, 然后修改 application 键 props 文件,然后杠 m 指定当网络模式来代表单机模式启动。我们看一下集群模式的搭建, 前两步都是一样的,第三步配置一个克拉斯联康飞格,也就是机型中的一个 ip 和地址,这边也是一个健全的配置。 第四个就是确定数据源,第一个是可用用内置的数据源,第二个是用外置数据源,根据内置数据源或者外置数据源,他的参数不一样,从这 这两个启动那个模式来说,最终执行的都是十大 up 点 s h 这个脚本,现在让我们来看一下十大 up 这个脚本是怎么编写的。这边的话是加瓦,应用程序会最终会执行加瓦这个命令, 这边会传一个加瓦 ob 显示的一个参数,这个仔细看一下 ob 显示参数的话,第一个是他指定的一个 spring 的一个配置,第二个是指定的一个 nex 点 home, 前面的话根据模式等于迟到模式 配置是不一样的,根据你的一个是不是内嵌的数据库,这个配置也是不一样的。这个脚本大家可以仔细去看一下,都是比较简单的,既然脚本已经看完了,我们接着来看一下我们在本地应该如 和配置这些启动参数,这边我已经配好了,这边第一个是我配置的一个 next home, 当地来指定一个 gvm 参数,这个目录的话,指定的就是这边的目录, 也就是他的一个发布目录,然后通过程序参数来指定一个 supreme 的配置, 这边指定的就是这个 oblique 芯片 pro 这个文件,这个我们来看一下这个 obliques 文件的配置。这边的话我第一个是使用一,使用的是一个 mecicle, 那个数据库大小为一, 设置了一些 u l, u 者 password 这些连接信息。这边的话我已经把数据库连上来了,这些脚本呢需要去打这个 脚本,买 circle 杠 scam 点 circle, 然后你自己建一个耐克斯这样的数据库就没有问题了。除了这一点的话,刚才我们在集训环境中,这边会有一个 class 点杠飞格的一个文件的配置, 在这边的话我是把这个一个张谱文件复制一份,然后去配上我自己的 ip 和地址,因为我默认搭建的是一个集群环境, 所以说我并没有去指定那个刀网浪这个模式,这样的话基本上所有的东西都已经搭建好了。 我们来启动耐克斯这个服务,来看一下耐克斯这个服务是这个模块下面的一个应用程序,把它点击双击就行了,这边呢就直接点第八个模式来启动了。这边 现在特别说明一点,一般的报错情况都是没有去领上数据库,如果你这边的 class configer 这边 就是就是在这里的这个文件,如果没有配的话,这边的话就是一个空,这样会导致你的启动也是失败了。启动完成之后,这里会看到一个成功的日子,一个是用的是外置数据员,第二个是正在集训模式, 这样的话 icos 的原版调试环境就已经搭建好了,这次分享我们就结束了,下次我们再见。


哈喽,大家好,我是大肚肚周瑜。那么接下来呢,我们再来聊一聊拉阔式中间的负载均衡。 呃,我们知道很多有地方都有复杂均衡,对,那么拉过屎中间的复杂均衡他其实比较特殊啊,因为,呃 呃他是什么呢?他,呃他说白了他是一个注册中心,或者说是一个配置中心,对不对啊?配置中心你跟肯定是跟复杂均衡没什么关系的,那么注册中心跟复杂均衡又有什么关系呢?啊?实在是这样子,就是拉阔时他作为一个 呃注册中心吧,那么他会需要去进行服务发现,而服务发现说白了他就是根据服务的名字去到拉裤子上面去拉取这个服务当前所有的实力信息,拉取到 呃服务消费者本利。对,那么在这个过程中间,就是在服务发现这个过程中间,其实拉货者他有提供的一个功能, 因为正常来说我肯定就是要把呃你这个服务所有的实力信息我全部拉选下来,但是那会是他提供的这种负载军人的策略就是他,他就是比较单一的,他就是一个随机的,或者说是权重随机的。这么一个负载军人的策略就是支持啊,你在进行服务发现的时候,你 你可以随机的拉取到某个实力,拉取到服务消费者的本地都不是全部, 所以就是拿过时他提供的这么一个功能,但这个功能,呃其实应该算用的也比较少啊,如果说你真的要用的话,你也可以用啊 啊,因为这样子的话,可能对于服务消费者而言,他的压力会小一点,因为他并不是把全部的实力都放到了消费者的本地。对,像如果说像其他的,你可能把全部的实力放到消费者的本地,然后再用 rap 去进行复产均衡,再从这些实力上面去选出其中一个实力。但是如果说你现在 用到了拉货时,他在服务发现,呃这个提供的这么一个负载均衡的功能,那我说了,在服务消费者本地,其实你所存储的那些实力信息就会比较少,说白了你可能就存的你负载均衡之后你选出来的那唯一的一个 来吧。所以说这是呃不同的步骤。下面的负载均衡啊,就是伏法线的负载均衡啊,以及像我们的 red 本,他相当于是在服务吊用的时候的负载均衡,所以他们两个其实并不冲突 好吧,所以我们啊,也可以理解为就是像 red 的负载均衡,它是发生在 naicos 这个负载均衡之后的好吗?

说人话,重视站讲干货。你好,欢迎来到 it 老七的架构六百讲,我是你们的艾瑞私人顾问老齐。到现在我已经录制了十多门与编程架构相关的最新课程,同时还会提供简历优化、模拟面试、 offer 选择、课程指导、工作建议等多种服务。总之,只要我有经验的事情,一定会提供建议和帮助,有兴趣的小伙伴可以看一下评论区。 今天呢,我们来学习为什么在 narcos 中要支持两种一致性协议,分别是阿里巴巴自研的 disso 协议和业界最常见的共识算法 raft 协议。为什么要有两种呢?我们来看一下 老规矩,咱们回到笔记来进行学习啊。那这里呢,我们就要讨论呃,一个情况,很多人都不理解,为什么在 nax 中,我们既使用了业界中最常见的共识算法 raft, 也采用了这个自研的 ap 的这 这个协议呢?他们两者到底有什么区别?为什么要分开用呢?其实啊,要站在 narcos 的角度来说,他的职责有两个,第一个是服务注册,而另外一个是配置管理。这两个应用的 层面不一样,所解决的事情不一样。所以呢,对于我们系统的呃集群的一致性要求也是不一样的。首先呢,我们来看一下服务注册。什么是服务注册呀?其实就是我们平时基于这个心跳包机制呢来构建的健康检查机制。 我们为服务的某一个临时实力接入到了呃任意一台 narcos 的注册中心上面。那站在注册中心的角度来说,他呢,不但要接收到来自于实力的心跳包,同时呢,他还要向其他的 服务实力呢去通知他们。哦,我收到这个心跳包了,我也通知你们一下,这个服务实力呢,他现在是活着的,实际上接收心跳包的服务器呢,是一个承上启下的效果, 那么在这里呢,他的应用场景就体现出来了,因为作为我们心跳包呢,他算是一种临时状态, 你想想心跳数据,为了性能的考虑呢,我们是不需要把它往硬盘上写的吧,通常呢,就是在内存中来进行构建就可以了。同时呢,按照当前的这个场景来说,心跳包保证这个,呃, 我们服务实力存活的时候,他更看重的是效率,那么在 a p 和 c p, 也就是保障一致性和可用性的情况下,那肯定是 a p 保障可用性要 权重会更高一些。所以呢, disco 呢,就是为了解决这部分问题的。那我们也可以看一下,作为在心跳包的情况下,设想一下,如果采用强一致性的算法,会产生什么问题呢?强一致性就是我们说到的 cp 的形式, 因为强硬性供值算法呢啊,是否对外提供服务是有要求的?要求当前集群可用节点数量没有过半的情况下,整个算法那就会直接罢工, 那就相当于比如说我们另外的两台服务器挂掉了,三台服务器里边挂了两个。那显然呢,按照强一致的比如 rapt 算法来说,那剩下的这一台服务器呢,自然也就罢工了。但是对于心跳的场景来说,你想想,这是我们所期望见到的事情吗? 肯定不是吧,有一台服务器,那你就给我把这一台服务器派上用场,给我做心跳监测就好了嘛。因此呢,在我们实际应用的时候,基于 a p 的 discho 的这个协议呢,它呢就更适合心跳包注册的场景。 而且呢,在我们实际开发的时候,呃,基于心跳包的这个呃协议呢,他更灵活运任何的客户端呢,都能够接入到这个集群中的任意节点上,并不强制要求必须要走主节点,这也是他的一个特点。 那综上所述呢,就是呃 distro 协议呢,因为它应用的场景是基于心跳包呢,相对清凉级,也并不需要进行大量的数据十九化,那在使用的时候更看重的是执行的效率,所以在心跳场景 下,它是采用 ap 的。但是咱们再换另外一个角度来说配置管理,配置管理呢,是整个咱们服务器的另外一大块,那 作为配置管理呢,就相当于什么把我们自己应用程序中的配置信息呢,转存到了 narcos 的服务器上面。那进行转存的时候,现在问题来了,配置信息应该是我们程序运行最重要的基础的,呃,知识资产。 第一,作为这个配置来说,又不是天天的让你去对其进行写入,他不是一个很高频的操作,所以呢,对于效率的角度来说是次要的。 第二呢,因为配置呢,我们也之前提到了构件的时候,那我们 nachos 需要将这些配置信息持久化的这个 messico 的服务器 当中,那显然呢,这个配置他要求是一个一致性的场景,也就是说在咱们三台节点中,绝大部分的服务器呢,完成了数据的同步以后,那我们才认为这个呃数据呢是写完了哎,在这个背景下, 数据的重要性远大于执行的效率,因此 narcos 在实际落地的时候,在进行配置管理的时候,选择的是基于 raft 做 cp 的强一致,要保证我们三台节点中 或者五台七台九台节点中至少有一半的节点呢,完成了这个呃配置信息的持久化,才认为本次操作是成功的。那这里你看到了吗?作为配置管理呢,他考虑的事宜呢,是 首先保证一致性,在考虑效率的情况,这和心跳的情况呢,是完全不一样的,这也是为什么在这个 narcos 中选择两种不同的一致性协议的一个呃背景原因。 那这里又衍生出来一个新问题,作为 raft 算法,那它是业界的共识,是稳定的,但是为什么阿里要自研 distro 呢? 首先呢,先来看强移植性算法,在当前的工业中,使用最多的当然就是 rapt 协议了,它呢是很容易让人理解的,比 比如说蚂蚁金服的 j raft, 组 cape, z a b, 然后 console raft 等等等等,都是 raft 算法的呃使用或者相应的变种。那么作为 narcos 是扎瓦技术战,因此呢,只能在这些中来进行选择。但是 呢, z a b 因为和组 keeper 的是强绑定的关系,再加上希望可以和 raft 算法库的知识团队随时沟通交流,所以呢,选择了 j raft。 那么 选择 j reft 是因为 j reft 支持多 reft group, 为 nacos 后面的多数据分片呢带来了可能,可以看到 reft 算法呢,是一种算法模型,然后具体的实现上,那他自己阿里用到了自己阿里系的产品 j reft 来进行构建, 那 disso 呢,其实也是类似的,它是以阿里巴巴自研的最终一致性协议,那行业中呢,最终一致性协议也很多,比如说 gossip 啊,还有尤瑞卡内部的数据同步算法。那作为 disso 的算法呢,它是集 gosip 和尤瑞卡协议的优点进化了而来的。 对于原声的个人 ip, 由于随机选取发送消息的节点,也就是不可避免存在消息重复发送给同一个节点的情况,增加了网络传输的压力,也给 消息节点带来了额外的处理的复杂。而 diss 算法呢,引入了权威 server 的概念,对其进行了优化,那每个服务器节点呢,只负责一部分数据,以及将自己的数据同步给其他节点,有效的降低了消许荣誉的问题。哎,通过这个表达,其实我们也猜到 它是在 gossip 基础上呢,去通过权威 server 的这种方式呢啊,减少了这个带宽方面的压力,这是这个 distro, 它相较于 gossip 的一个优势所在。那么作为咱们整体的呃加购来说,它是如何实现的呢?哎,这里呢, 有一个非常好的呃架构设计,就是他对于当前的这个一致性算法的呃封装呢,他封装了一个模块叫一致性模块,然后在上方你可以关注到,作为咱们无论是这个呃 节点发现小服务发现的模块,还是配置管理的模块,你他做的事情呢,都是上层的应用,然后如果需要使用这个一致性算法,只需要去进行依赖和引入就可以了, 他把这个整个 rap 的算法和 disco 算法呢,都封装到了一个黑盒中,作为上层应用直接去移 依赖,那我们未来呢,就可以留出来调整的空间,比如说这里的 j raft 可能有些问题替换成其他的,而不会对上方的这个应用呢产生任何的影响,这就是咱们现在 nacos 中的一致性协议层,它的目的所在。好,那最后呢,咱们简单的来总结一下, 作为一致性协议呢,在这个阿里巴巴 narcos 中呢,它采用的是 j raft 哎基于的是 cp 模型,而另外一个呢,是呃 destroy 基于 ap 模型。那 raft 算法呢?它呢,主要是负责了咱们强移植性的场景, 比如说配置信息的写入。而 disso 协议呢,则更多的用在了咱们集群内部,哎,节点和节点之间针对于健康状态的一个消息同步,他们的应用场景和对相应的要求是不一样的。

ok, 那么我们搭建完这些服务之后呢?你想想他们是不是应该是要很多很多的配置文件?你看比如说这边 选哪个?哎,你觉得配置多不多?是不是很多呀?是不是特别特别多?这都是啥意思啊?你要一个一个学吗?哎,你不用学你指什么?只用知道配置文件或者棒,只用知道他的注册中心有哪些概念就可以了。好,来,我们把这个来画个图,让你理解理解, 来画个图。 ok, 如果你想一下,哎,你要手写一个做中心,你该怎么办? 应用是吧?你现在怎么好了?你现在怎么样了?你希望去手写一个?说东西,你注意啊,现在有人看是你写的了,他已经是你写的了, 你自你会不会手写要说你会知道吧,你自信一点,你已经会手写了,已经,但是呢,哎,很多问题吗?你没考虑到,比如说什么呢?想问题。第一个 服务都需要网上注册。哎,第一问题,哎,这什么呢?我在注中心中,在注册中心里面 要不要搞个服务列表,把他信息保存起来,需要吧?哎,什么需要什么呢?哎,一个服务列表或什么呢?叫容器干嘛呢?保存服,保存用的信息。 是不是这第一个需要考虑的问题?因为我们网网上注册呀,每个服务都网上注册,有一百个服务,我这里面需要有一个容器,有个列表,列表就是容器,比如说什么绿色集合, map 集合这样东西来保存的服务信息,对不对? 这个问题什么问题了?来好好研究,是不是你网上注册了,我就告诉你的信息啊,如果你下线了怎么搞?如果你服务下线了,我这里面信息要怎么办?要更新吧,是不是这个问题? 应用哇,下线了是吧?哎。或者或者荡机了,或者什么挂了, 那怎么搞?那我这个列表里面要把要把把你的信息给删掉,不然你说就会脏读,这能不能懂?你删的话他还在里面,那就是有问题的,对吗?哎,服务列表 需要什么?需要整理对吧?你需要进行调整吗?那么问题就来了,那么下线分为什么呢?下线分为 两种情况,第一个,什么呢?叫主动下线。什么叫主动下线?什么意思?比如说你要走了,你跟别人打个招呼说我要走了,这叫主动下线,什么叫被动下线了? 哎,什么意思啊?不是挂了怎么搞?你什么?你不跟他说你要走,你直接走了,什么意思啊?你什么?你跟房东不交房租,你怎么样?你说三个月都不交房租了,你下你下不下线,房东是不是会把你给踢掉?这能不能懂?第一个是 主任说你跟房东说我要搬走了,对吧?然后嘞,你走房东就知道了呀。哎,这什么呢?你长时间不跟很多联系,三个月五个月都没交房租,怎么搞?他就把你给踢掉了是吧?哎,这样嘛,我们就在想在想问题, 三个 a, 那么什么呢?诶?主动什么呢?主动下线,诶?什么?我们该怎么怎么处理是什么?诶?被动下线该怎么处理,对吧?你就要注册,你就要下线嘛?上线就要下线。 处理好,那么接下来我们再来想个问题,想问题,哎,如果你要处理被动下线,就什么把它给你踢掉, 做中心将你剔除,嗯,剔除吧。好,那我们想个问题啊, 你第一次项目启动的时候呢?网上注册,那么你就注册这一次就够了吗?你就注册这一次,他就认为你一直在一直在线吗?我们要怎么搞?你想一下,你交房租,交房租 一样哎,你交一次房租之后你怎么样?你隔隔一段时间是不是又得再交一次啊?这样才能怎么样?让你们两个建立一个什么?建立一个联系对不对?哎,他们现在怎么搞了?应用和做中心之间需要建立联系? 应用和注册中心直接把注册中心,哎,其实吧,那样他们之间吧需要建立一个联系, 一个联系,那这个联系是什么意思了?你想想我怎么才能证明我在线? 我怎么才能保?保持什么?告诉别人我还活着,你怎么搞?你说隔三差五是不是要跟他联系联系,这样说明他你还活着吗?对吧?哎,这什么呢?叫建立心跳机制。 哎。什么叫心跳?什么叫心跳?就你心还跳着,在你这个人是不是就活着?在你心跳不跳了,这个人是不是就死了?这能理解吗?那么心跳在里面叫什么呢?哎,又叫什么?打乒乓球。 哎。什么?打乒乓球?我给你什么了?打个球过去你怎么搞?你如果回打过来就来回打,来打去乒乓乒乓就来回打,哎,只要是什么呢?这个球就还来回打,对不对?说明这个是不是还活着在这个能不能懂?哦,那么打乒乓球的话我们叫什么呢?叫什么?心跳机制 对不对?就是我们什么啦,诶,每次嘛,每次心跳就什么啦,就是一个什么啦,一个一次请求 就这样的,我这边隔几秒钟需要给你发个请求,然后你这边是不是给我回,给我 respons 响应一下,哎,我隔几秒发 请求,想一下,哎,这样怎么样?他们就建了一个联系,是不是?那么如果什么?如果说你长时间都不给我发请求了,那我认为你是不是挂了已经怎么搞?把你给踢掉,对吧?踢掉, ok, 这是我们需要考虑的问题,该怎么去实现?那么接下来还有什么问题呢?想问题啊,注意看 好。如果什么呢?如果 a 往里面注册, b 往里面注册,如果 a 怎么样? a 想找到 b, a 要怎么找, 是吧?这什么呢?我 a 想找到 b, a 要怎么找?说通过他来找,那想问题,你先不用管先,你先不用管怎么找的,因为他们两个的关系就这个人知道,那我理解了。如果每次 a 要访问 b 都要通过他 找到币的信息再回来,再再,是不是再返完币,这样麻烦,麻烦,很麻烦。那怎么搞了? 那我们这个应用词时候能不能把服务列表缓存一份到本地?你想想缓存服务列表到本地,这个能不能理解? 什么意思呢?因为每次 a 要去找 ba, 都需要找他,拿到服务,达到他的信息再找 b, 那如果说这样的请求量比较大,这个性能不好,为什么呢?因为每次 a 要请求他,所以也需要一些开销。那怎么搞呢?这样搞 a 怎么样呢?他每隔一段时间把什么呢?把这个服务列表拉取下来, 复联 a 的一个应用里面本地缓存一份,那么以后 a 还需要找 b 怎么搞?还需要找做中心吗?不需要了,因为这边是不是已经有他的一个信息了,直接就能找到他?是不是?那么 a, 接下来问题就来了, 问题缓存在本地的一个服务列表脏读怎么办? 你想一下,如果你把福利表还在本地币下线了,你知不知道短时间内你是不知道的,因为什么呢?因为你是每隔,比如说每隔十秒钟 出去拉血丝,扶着表放在本地是什么?比如你第一秒拉血一次, b 什么呢? b 在第五秒的时候死了,你在第六秒的时候需要用 b, 是不是会出现脏读?因为别第五秒时候已经下线了,他下线他就知道,但是你不知道,因为你有缓存,哎,这该怎么办? 是不是?你说能否能否什么呢?能否容忍脏读?问题是不是,你看 那么什么呢?如果说什么?如果你想去写一个制作中心,对吧?就是,就需要考虑这么多问题,怎么去搞服务列表啊?怎么什么?怎么去做什么呢?服务列表的整理啊?怎么去搞?上线下线怎么什么去搞什么?脏读问题怎么去搞?剔除操作就对吧。把这问题都写好,哎,你才能搞个作业中心, 是不是? ok? 还有什么?还有,比如,还有其他问题,比如什么问题呢?这个问题如果什么呢?如果 在什么?在一个时间段内吗?大量的服务的应用对吗?都不和你什么联系,那该怎么办? 你想一想,哎,该怎么该怎么办?这能理解吗?本来说我们这边有有有十个服务,有十个应用,这都都给你建立个心跳机制呀,哎,都很正常, 突然有一个时间段之内有十个,里面怎么搞?有九个都都不跟你联系了,那你怎么想?你怎么想?哎,你会认为是应用的问题吗?他就要把这个 ap 原则。什么叫 ap? ap 高可用原则 怎么搞了?如果说有一段时间之内有大量应用都不和你联系,该怎么搞了?哎妈,有人看怎么样了? sorry 不会提出任何一个服务 啊,不会剔除任何一个服务。为什么呢?因为他认为可能什么呢?可能是因为我自身的网络有问题,是别人就跟我联系不上了。这能懂? 就这么宝宝们他就是一个什么了,叫做宁可什么了?宁可放过一万不可错杀一个对, 分过一万个都什么都不能错杀一个。他 a 不 ap 很高很用吧?因为你因为你把一个服务箱压到别人用不了了呀,是吧? a 什么?他就是一个 ap 原则知道吧?你宁可放过一万 都不能出差一个人就这个意思啊,满桌你要去写满足的东西,你就得考虑些问题对不对?那么把这个东西你理解完之后呢?你就能干嘛了? 就明白啊这边的配置是什么意思了。如果我们刚刚光光只讲配置,那你根本就不知道是什么意思,对吧?现在嘛,怎么样你有可能就什么就有感觉啊,原来嘛,这个配置是这么是这个意思,是不是我们先把它配置来看一看,我们来仔细写几个 来,好都停掉啊,一会重新写好。首先我们在 solo 端需要写一堆配置,在 qq 端是不是也要写一堆 配置啊?两是不一样的。 sorry 的话我们就写什么哪些配置了,我们先写几个来看一看,聊一聊。首先配置分为三大类, rex 的配置分为三类,第一类 sorry 的类, sorry 的配置。第二类诶,可蓝色的配置,第三类诶,实力的配置 分为三类。那么我在 solo 端需要写哪些? solo solo 配置要不要写? candy 写不写?不写此类的配置写不写?写,因为 solo 端它也是一个实力,它也是需要自己注册的。就我们写什么呢?就写这个什么呢?有一看 是不是很多骚味儿的叫配置呀,对吧?他,当然他里面也有可能的配置,但是我们一般不写,是不是还有什么呢?还有我们的叫诶,叫 instance, 这十个配置就在 三个三大类。那我们先先写骚二配置,我们先写一个就明白了。叫什么呢?叫什么叫做?叫做哎,这个这个东西。嗯,来这一看你就能明白这什么玩意? 这服务员配置叫 education interval timer in m s 置换什么意思啊? 什么叫什么叫 interval timer? 哎,你们前段时候学过 instinctable? 什么玩意儿?定时任务?定时任务, 哎,是不是 m s 是多少秒执行一次?那么这是关于什么历史任务呢?出现叫 e 诶, evact eliquin, 那么 evac 什么意思啊?祛除剔除的意思吗?这多少秒?这十秒 好,什么意思呢?就是服务端怎么样?美格间隔间隔 多少毫秒?我说什么多少毫秒?什么毫秒 做什么呢?定期删除的操作,哎,你们学过 redis 就学过删除操略,对吧?哎,我什么呢?我现在搞现成,我每十秒钟是只是不是循环一次啊? 我看这个服务列表里面哪些服务是不是有问题,是吧,给去掉,这能不能理解这个意思啊?哎。他要定义删除一个时间,你看如果,如果说你不理解什么呢? 他的一些什么原理,你就不知道他是什么意思,因为他需要什么呢?需要把你给踢掉啊?你没往里面去,你没更新我就把你给踢掉吗?是不是就这个意思?好?还有别的啊,比如说我们都叫,嗯,还有一个是 嗯,一个百百分比啊,哎。有什么呢?有这个东西他是有默认值的,你看可以,其实可以不用写。哎。有一个什么呢?有一个么?有个什么?有一个叫这个东西啊,看一下,就这个续约。什么百分比啊?就我们刚讲的, 你看就就这个参数呀,他是零点八五。哎。什么叫零点八五了?把这个来稍微了解一下,叫做 renew percent。 哎呀妈,死瑞德吗?死瑞德秀的,这什么意思?什么叫 passent? 百分比是吧?诶?什么 twenty per twenty percent 的就是百分之二十嘛。诶?什么?诶? three 的 sold 了,这什么意思啊? three sold 什么意思啊?预值就是一个什么就是那个最大那个值,这个呢? reno 叫续约,叫续约。百分比 什么意思啊?百分比相当于什么呢?如果说你的你的客户端是吧,在一段时间之内什么都什么了都没给你 发送一个心跳机制,我们叫心跳叫续约,叫蕊妮叫续约。所以你去续房租吗?一段时间叫续续约,那么如果说你在一段时间之内他有红包是十五分钟是吧?一段时间之内有超百分之八十五的服务都没给你发心跳心跳心跳。那怎么搞?那还是什么?他不会吸出任何一个服务 八八十五得什么了得什么应用没有和你建立, 和你续约吧,是吧? love 什么呢? love you recall 嘛?会什么?会保护啊?保护服不会剔除 任何一个,哎,能想吗?这马他的一些概念能懂吗?那么,哎,我们这段有很多的配置,目前来说,第一个这个你是肯定需要配的,他们是三十毫秒,他们他们是三十秒。三十秒吗?太,太慢了, 因为服务上线下线的话,中间间隔三十秒还是比较慢的,我们一般可以写个十秒这样的一个时间,能理解吧,也就这个意思啊。 ok, 那么所有端大概嘛就配这个就可以了,别的我们可以不用配,不用配, 你看我这就只配了这几个,是吧?哎,是不是只配了这几个? ok, 好,那么还有什么呢?这边还能配个什么呢?配个银色子配置把这个来看一下,我们来休息一下啊。哎,他还能配银色子配置, 这我们实力的配置的配置。 ok, 那么什么是实力的配置呢?比如说我们这边这个能看到,能直观的看到,把这个来看一下, 这是个 id, 对不对?对不对?那么把鼠标往上放,看左下角, 哎,这是一个一个实力的一个主机名称加端口啊,那你想想这个主机名字你看不看得懂? desktop? 什么 g g s g f o a, 这个看不看得懂?看不懂,那什么玩意儿呢?是这样的,这个什么是符的名称,它有三部分组成,我们说过, 我再来看一下这个阴森斯 id, 就这个这符合实际的一个 id, 哎,他有三部分组成,什么部分组成呢?第一个是我们的哎,主机名称,这个是什么?是我们的一个哎,应用名称, 第三个是我们的等号,那么现在什么问题了?我们主题名称他默认七十码,他应该写什么呢?应该写本 机,是不是应该这样写?这是我们本机嘛?这什么呢?蜂蜜车这样什么呢?当口号,他说应该这样写,是不是?哎?我们后面两个是不是没问题啊?你看 后面两个是不是没问题啊?但前面那个什么主机名称,它什么呢?它默认取到我们当前电脑的计算机名称了,是有问题的。我们当前电脑计算机名称在哪看呢?右键属性 有没有?他是取得了我们当前电电脑计算机名称,但是我们需要这个吗?我们需不需要这个名字啊?不需要,这个名字谁能看懂啊?我们是不是需要本机或者说某个 ip 就需要某个 ip 地址,这能理解吧?我们不需要这个名字,而这可以这样写, 可以配置一个 house 的内蒙,我们的 low house 本机,这是可以改的吧?这边我们怎么取了?我们这东西不要写死了,来这样写,看我写 危险就立马会,会不会,这在干嘛?这是一个 s p r 表达式,在取我们这里面的值,对吧?在压模里面我们讲过的,是不是?这就是我们检视我们的什么一个实际的 i t。 那我们这是我们主机名称 是吧?一般什么呢?一般就写罗 house, 或者说我们的服务的 ip, 或者服务的一个 ip, ok, 第三个呢?我们再往后面两个看一下,还有什么呢?我们鼠标往上一放, 左下角,你看他这边应该写什么呢?最好要显示 ip 和端口吧,因为为什么呢?因为这样的话,我们就会看到这个 服务是在哪个哪一个服务器里面的,因为服务器里面都是以 ip 来显示吗?这样是不是比较合理啊?那我们怎么搞?这样写?就显示 ip 叫 prefer, ip address 等于错什么呢?以 ip 的形式 显示什么呢?哎,显示,哎,具体的符信息,哎,能写吗?就这样写, ok, 那么最后还有什么呢?因为还有,这是个实,这是实力吗?还有什么?还有个,哎,叫 lisri 六 interval in seconds, 这什么玩意儿呢?最后一个,这是我们的 服务实力的一个什么呢?续约的一个时间间隔,就这个意思,因为我们说过有人看 sover, 他也是一个什么呢?也是个应用,他也是个实力,那么他是不是也要往上面注册呀?他多少秒是要去续约?因为你要交房租, 你每隔一段时间都需要什么去学?有一个 sover, 他什么呢?他是这样的,是吧?既是什么呢?既是端又是什么呢? 他是不是能自己做自己,他也能让别人注册他这个东西吧?就是有点难理解,他就是他是两个地方都有,能懂吧?他既是服务端,又是客户端,所以说嘛,他当客户端的时候呢?要不要,要不要续约?要续约吧,这我们的时间,这个时间我们怎么写了?他是毫米,他是秒吗?对吧?多少秒了?有时候 这个时间和这个时间,你想一想是不是有关系?我这边十秒钟检查一次,如果,如果我写个五十,我就问你,他都没去约,是不是他都已经被踢掉了呀?这个时间是不是就要比这个时间要小?这个能不能懂? 就我十秒钟检查一次,那就是五秒钟续一次,五秒钟续一次比较好,如果我十秒钟检查一次,我二十秒再续一次,人家都把你给踢掉了,你是不是还没续上,能理解吧?你这样写, ok, 那我们来启动一下啊,就这样写就可以了,先把这个来了解一下。哎,最后来测一下这两边,我们先不慌写啊,先把这个写完, 好,等一下 搞定了吧。来,我们来看一下,重新来刷新,是吧?你看现在来讲,他这个名字是我们的本机,因为我们写 low house 嘛,这又好看,第二个什么呢?如果我们把鼠标放上去看左下角, 哎,你看它显示什么呢?它显示我们整个机器的一个 ip, 还不是 low house, 哎,这有什么好处了?如果你把它放在阿里云服务器上,是不是看是哪台服务器?如果公司有一百个台服务器,那你看是不是就知道是哪个服务器的 ip, 这样就比较合理吗?对吧?那我们什么呢?我们把先,哎,讲这么多,来休息一下。你们下来了,先把,先把这个东西先搭建搭建,对吧?把配置空间先理解理解啊,来休息一下。

那么同学们,我们已经把部分配置放到了我们的奈克斯服务器上,下边呢,我们的唯一服务就要想办法得到这些配置了吧,那怎么样去得到呢?我们先来看一下在没有奈克斯时,服务如何获取配置的。那么他的流程大概是这样子的, 第一步,项目启动,启动了以后会去读取本地配置软件,读取完本地配置软件会去创建 surme 容器,而后呢就会去加载各种各样的病了 好,当然了,后续我就没有去画了啊,我们主要是关心配置这一块,那么同学们在这里呢,读取的是本地的啊,不是 k, 是哪一模配置文件。 但现在我们却多了一个东西,就是 nicos 中的配准件,将来我们的项目会干什么呢?他会把 nicos 中的 配置与本地配置做一个合并,而后再去完成后续的容器创建并的创建的动作。所以同学们,我们的这个 nax 读取是不是要加入到这个流程当中?那么呢,我们就会变成这样一个步骤了,同学们注意看, 先项目启动以后,先去读取奈克斯中配置文件,而后呢再来读取本地文件,两者合并穿完成后续动作就行了。 这个时候呢,流程听起来好像很简单对不对?但是你注意一件事啊,因为在我们读取奈克斯配置文件的时候,我需要知道一些信息,第一,去哪读取? 第二,读取谁?所以呢,这个地方啊,我们在读取尿不湿配置文件的时候,我得最起码我得知道奈何地址吧,但是现在奈何地址在哪呢?是不是 在阿布莱 k 式年夜文件当中,那我们既然要在这个地方都已经完成了奈克斯的读取,是不是要提前知道奈斯地址? 所以呢,在项目启动之后,不要着急去干别的事,先得得到奈何地址。 但问题来了,你那个地址原来放在那,这不行,所以那个地址是不是要提前知道啊?那怎么办呢?有什么东西是比啊,不是给点业务还要提前呢? 有,叫什么呢?我们是不是你提供了一个叫 bots 抓捕点夜猫的文件,这个文件他的优先级会比阿布雷 k 省点夜猫的优先级要高很多, 所以呢,这样一来,相关启动以后,他会优先读取 bossgrapdam。 那我们只要把耐克的地址呀,这个文件的相关信息啊都配进来,那么 他是不是就可以完成 nicos 配置的读取了,而后再跟本地结合,是不是完成后续动作啊?好,这就是我们接下来要做的一个动作了。同学们注意了,与 nicos 地址和配置文件有关的所有信息都应该放到 bost f 点腋毛当中。 行了,不废话,同学们,我们一起来看一下步骤吧。第一步,引入 nicos 的客户端管理依赖,也就是配置管理依赖啊,叫 nicoscon feig, 咱们以前引的是 nicosds grrydsgrry, 就是发现服务注册发现这里 ctrl fread 就是配置管理啊, 好,引入了依赖呢。第二步,我们就需要去新建 bostwaptame boostaptameamam 呢,是叫做引导文件,他的优先级比 我们的黑色眉毛要高,而这个文件里要配什么呢?他要配的包括下面一些信息啊,大家看服务名称 profrie, 也就是环境和后缀名, flx, 天审。同学们,这三个东西啊,服务名称, 开发环境加后缀明,三者结合是什么?是不是我们刚刚在浏览器控制台配的 服务的雷塔 id 啊,我们去看一眼,我们打开浏览器,看到没有服务名称,环境和后缀,所以我们再回到 ppt 刚才的这三个配置的目的,是不是知道是哪个文件啊? 那这个东西呢? logo 的八幺四八是 nx 地址。那好,那我已经知道了要去哪读配置了,又知道了 读取的配置叫什么名字,那这事是不是可以搞了?哎,没问题吧,所以下边呢,我们就不废话,按照这个去整一下来,我们找到 id, 找到遗物字三维四的泡沫文件, 然后在这呢去添加纳克斯的配置管理依赖吧,来吧,他这个名字啊,跟上面人很像,可以看到上边这个叫 suprenkex 卡瑞,而我们这个叫纳克斯。什么呀,看,这个没错啊,就是他。 好,那么大家第一次的话是没有提示的啊,那么你们怎么办呢?可以把我这个扣过去啊,从笔上扣就行了, 好引入依赖了。第二步,我们刚才看过了,是要干什么?同学们,哎,没错啊,是要在瑞萨的目录下新建一个都 抓不点也没文件吧?对啊, boss 转不点也没文件。当然这个地方可以随便起名字叫 ym, ym 都行走, 我们说后这名是可以 ym 或 y a m 二,但是文件名一定是 boss rap 这个名字,大家看是不是带个语音,这是特殊的文件啊,在这里面要配哪几个东西呢?要配这么几个东西,第一,服务的名称,这个将来会决定我们的数据,对他 id 啊,我们叫 u z。 第二呢是 profrie 环境啊,第三呢是这个耐克斯,耐克斯地址, oppo pos 的八八四八。第四呢是我们的,这个什么东西同学们不记得了,是 我们的后缀名啊,三要素啊,服务名,环境后缀名吗?后缀名叫 yaml 吧。 哎,文件后缀名啊,同学们记住啊,服务名称,他,环境,还有这个后名,他们三个决定了我们的,怼他一滴 好,那么这个呢,是服务地址到这配完了,别着急啊,布雷克系列阴谋当中啊,还有一些跟他重复的配置吧,比方说服务名称干掉,拿个地址干掉,这里的集训配置,我提前已经注视掉了啊,好,那么现在呢,我们就可以干什么了, 来句完成配置的拉曲了吧。但是同学们怎么证明我们真的拉到配置了?那要想证明我们真的从拉克斯里获取到配置了, 只有一个办法,那就是想办法去读取到这个配置,那我们的配置文件我们看下,浏览器 叫约瑟维斯第一位,然后呢,他的内容是 party, 对的方骂他假设说我在项目当中来读这个配置,读到了是不是证明就拉序到了好不?废话,我们来整一下, 打开定,我们来写一个代码啊。我们知道要想读取一个配置,是不是可以利用歪六注解,在歪六注解中通过多了幅大括号加这个名字来去读取配置。 大家有印象吧,这里有个 prvdes 俊,叫 detiful mat 吧,就叫这个名字吧,来去加载啊,如果这个能加载成功,我们就证明了什么?同学们, 证明了我确实拿到配置了吧,哎,下边呢,我们来写个 ctrl gat 买品路径名叫 no, 就是当前的意思,返回一个自助串就叫 no 时间,然后呢,我会得到一个当前时间,我通过一个 logodit tom 的一个工具类啊, 获取一个当前时间叫 no, 然后对他做一个格式化 fmart, 格式化的时候,他这里需要一个 dotm f mat, dot to mat, 我们拿到这个类啊,然后第二种,它里边的一个功能啊,叫做奥排程,他可以利用这个排程的实线格式化,那我们就可以把这边这个的 fmat 是不是扔进去了, 这样呢,他就会按照我们规定的格式完成日期格式化,并且返回了啊,好,下边不废话,重启我们的服务。第一个, 第二个, 好,重启完成,这个时候呢,我们去点击八零八幺, 然后呢,我们在这里去输入一个叫 u 字杠 no 回车,哎,等一下走,可以看到这里是不是有一个日期啊?二零二一零四幺二,说明格式化是不是成功了,我们再来看一下八零八二 是不是同样实现了这个功能,这说明什么?这说明八零八幺和八零八二这俩为一服务,都已经成功的从 nicos 控制台里得到了这段配置了吧。没错啊,同学们,到这呢,我们就实现了配置 管理的第二步了,干什么呀?微服务获取奈克斯中的配置信息了,我们一起回到 ppt 来看一下啊。第一步,引依赖,第二步,是不是配置这个信息啊?服务名称,环境地址和后绿名, 然后呢完成这个服务的一个读取,属性读取啊,通过这个歪读注解来读取就实现了。最后呢,我们来总结一下我们刚刚做的这些事情啊, 将配置交给奈克斯管理,第一步呢是把配置放到奈克斯中去添加,这个动作呢是在控制台里点加号填写表单就行了。 第二步呢是在唯一服务中引入奈克斯的依赖,注意引的是扛费的依赖。第三步呢是佩布斯 rap, 这里面主要是告诉我们的应用应该去哪作陪人拉去耐克地址,还有拉去 去谁拉起谁呢,就是服务名称,环境和后队名。好,那么到这呢,整个配置管理的动作就完成了,那么这节课呢,就到这里,下节课我们会带大家了解一下怎么样实现配置的热更新。