00:01
接下来呢,我们来继续测试,从配置中心中们同时加载多个配置集,那先来设想一个场景,随着我们业务呢不断的壮大,我们这个微服务可能有非常非常多的配置,我们呢不会将这些所有的配置全部都写在这么一个配置文件中,这样这个配置文件中的内容又多又乱,不好维护。那我们一般的做法呢,都是来拆分出不同的配置文件,比如跟数据源有关的配置,我们写在某一个配置文件里边,Data source properties,和我们这个框架有关的一些配置,比如我们写在马点properties里边,和我们这个微服务等等其他有关的配置,我们都会拆分成不同的配置文件。而我们这个NAS配置中心呢,也支持我们这种操作,比如呢,我们想要将这个配置里面的所有内容都让nacos配置中心来管理,我们以前呢,可以将所有内容全部放到一个配置文件中,那现在可以这么来做。
01:01
好,我一个一个来抽取,我呢先把跟数据源有关的data source点来,我们现在呢是一个压面,好我们写一个压面,我还是呢放在开发组DV组好页面,那将跟数据源有关的内容呢,我复制过来放到这儿。放到这,那我将数跟数据源有关的内容呢,我们就放到了贝source的这个配置里边,同样的我们将跟三大框架,比如这个my beat蒂有关的内容,我们就放到my beat蒂的配置里边,比如我们再来创建一个my beat,第二压ma,同样我们还是第V这个组好,我们把这个压ma呢,我们给这一复制,这是跟马贝蒂斯有关的这些配置。然后呢,包括我们将其他的一些配置,比如这是呃,我们拉S注册中心的,包括我们服务的端口号,诶,比如我们再来添加一个配置,哎,我们就叫A吧,其他的一些配置。
02:03
好,我们也叫de为组,这个页面呢,我们来给这一复制,我这些一复制,把我们以前提取出来的呢,我就可以先删掉了,只留下,哎,我们这个有用的,好,这数据源呢,我们已经提取出来,好我点一个发布,那么呢,我们就会发现,其实呢,我们将我们整个微服务的所有配置,我们拆分成了这么几个文件,只有这几个文件全部合起来才能构成我们微服务的整个配置,那我们需要让我们这个微服务一启动的时候,同时来加载多个配置文件,怎么同时加载呢?诶我呢就可以把这一块我们可以先来注掉,我们想要加载的话,我们可以这么来加载,首先还是这个name space,我们打开我们这个微服务呢,是加在当前自己名称空间下的东西,我们可以来写一个,这个叫spring cloud,这有一个con个。
03:04
Config里边呢,有一个ex extend ext config,我们扩展的配置,而且这个ext config呢,我们点过来发现这是一个list,就我们可以来写多个,那既然能写多个,我们在这就写零诶第一个配置点一个,这有data ID以及RESH3个选项,那data ID指的就是我们来加载配置中心中的哪个配置集,那我们这有一个配置集的ID叫data source页面,好,我们写加载它,同样呢,我们还是第零个配置继续来配,也就说呢,Data source压面它呢是属于哪个分组,比如data s压面,它有不同的分组,有第组pro prod组,不同的分组不同的配置,但是呢,我现在只写了一个组叫dev,相当于呢,我只加载dev组的data source雅面,包括呢,我们这个要不要动态刷新诶,这还有一个功能叫。
04:04
配要不要动态刷新,这个动态刷新呢?默认是first,比如说不具有动态刷新功能,也就是我们在配置文件中如果改了这个东西,我们在配置中心中改了,那我们的这个微服务不会刷新,那如果我们想要刷新,我们可以把这一块呢写成true,由于它默认是false的,这一块呢,就相当当于加载了一个配置文件,那其他的配置文件继续移到此里往下添加,好我把这三个呢,我来复制一下,我们不只要加载data source,诶接下来呢,这是第二个第三个配置。我们不止呢要加载s source页面,我们同时还要加载myab页面。好,我们同时呢,还要加在我们的other下面。Other压面,那相当于呢,我呢就将application压面里边的所有内容我们都放到了配置中心,行,我可以把它注掉,我来看我们配置中心的东西能不能被用到,那在这呢,就配置好了,让要从配置中心中再来读这三个文件,来重启一下我们这个。
05:15
他这个服务好on。来重启一下我们这个服务。来看一下它现在的这个效果。首先呢,我们在启动的时候观察日志,它读取了哪些配置,在日志里边都会有。好,我们现在看一下,它呢,相当读取了这几个加载NAS的这个数据,读取了data source ya面尔,读取了MY贝雅面,也读取了other雅面尔,同时呢还读取了他默认要用的古丽meil carbon properties,诶因为我们知道即使在不配这些情况下,我们这个微服务呢,一启动都会读取到它的这个当前服务名点properties这个文件,好相当于它会读取这么四个1234,那我们来进行一个测试,那么首先呢测试。
06:09
我们来刷新,诶测试呢,这一块用户名和年龄获取的是张三二二十,因为呢,我们在NAS中,我们来看一下这个配置,诶详情哎,我们这呢叫DEV18,我们的这个prod,我们来看一下这个呢叫PROD20,并不是我们的这个张三。二二十为什么呢?相当于我们在这来加载我们的古丽麦尔卡的时候,来看一下,它加载的呢,是默认分组的,诶它加载是默认分组的,而我们呢,这个古力麦尔卡现在呢,有一个第组和prod组,相当于呢,没有那个默认default group分组的,那没有默认呢,它会读取什么?它会读取配置文件中的是张三R20,也就是配置中心中没有的就用配置文件的,配置中心有的用配置中心的,好我们在这呢,还是回到它原样,我们让它呢加载默认配置文件的时候,是加载prod下边的。
07:09
来测试一下,即使是默认的配置文件也是加在prod下边的,Prod下边的应该返回的是PROD20,来测试一下刷新,诶我们发现呢,读取到的是PROD20这一块呢,是没问题的,那数据源相关的配置对不对呢?只要这块呢没报错,那看起来是对的,那我们也可以来发一个请求来测一下,我们让它呢查一下数据库,看一下它对不对,比如呢,我们这个carbon carbon下到我们的这个。我们这个list请求它呢,就会调用我们service来查数据库,来我们发一下这个请求就行了,Carbon carbon list来测一下。好,在这呢,来测试list。诶,他呢,查数据库查到的咱们这个总记录数什么都没有,但是呢,他已经连上数据库没有报错,那说明是没问题的。
08:03
那这样呢,我们最终对配置中心的使用来总结一下,那以后呢,我们每一个微服务,我们微服务啊,微服务微服务任何配置信息,任何配置信息或者呢,任何配置文件,任何配置文件都可以都可以放在配置中心中,配置中心中。然后呢,接下来我们只需要只需要在我们这个bootrip properties中来说明加载配置中心中配置配置中心中哪些配置文件文件即可,这样呢,我们只要读取到我们指定的这些配置文件以及默认的这些配置文件,我们想要获取配置文件的这些值,那我们自己想要获取可以用an value,诶,我们之前测过,或者呢,Spring boot以前所有获取配置文件值的这些注解都能用,比如configu properties来找一下con。
09:12
Properties,比如这个注解也可以来获取,如呢,以前spring boot任何方式来从配置文件中等等等等,以前spring boot任何方式从配置文件中,配置文件中获取值都能使用,它呢都能从配置中心中获取,而且默认的规则是配置中心有的优先使用配置中心中的中的值,那这呢就是我们以后配置中心的使用方法,大家可以看到Y厄布里开身压麦尔的所有内容全搬家了,包括这里边的内容我们之前也搬家放过去了,所以说呢,最终我们的这个微服务啊,其实只需要保留一个bootsp properties,让它呢一启动自己来配置中心中获取。
10:12
内容即可,我们呢,可以将所有的配置都写在配置中心中,当然线开发期间为了方便,我们还是写在压麦上,等线上一上线以后呢,我们先将所有的压面可以配在配置中心中。关于NAS更多的信息呢,大家都可以百度NAS来到它的官方文档,诶,这可以切换成中文的文档,这里边呢,有包括nacos跟spring spring spring cloud等各种整合,包括docker上的各种部署,包括它的其他各种详细的细节信息,以及它的一些参数配置等等等等,那么我们到时候呢,需要有什么修改设置,我们都是可以参照这个文档的。
我来说两句