分布式组件-SpringCloud Alibaba-Nacos配置中心-简单示例

上一节课,我们使用narcos呢作为注册中心,并且测试了open phone的远程调用功能,那么接下来呢,我们就测试使用narcos作为我们的配置中心。来集中管理我们各个微服务的一些配置,当然这一块的所有操作都可以参照我们spring cloud阿里巴巴的相关文档。哎,我们回头到spring cloud阿里巴巴在我们这个中文文档里边呢,也有我们nu xos作为配置中心的例子,我们往下翻。这个simple例子里边呢,有我们的nu kos config example好,我们在这个里边来看一下它如何作为配置中心。那想要作为配置中心来管理配置呢?我们首先来做的第一步,先引入na cos config starter。那这样的话呢,我们的这个微服务才能跟na cos建立连接,然后呢,让na cos来管理它的配置好,我来复制一下。我们呢,同样每一个服务,后来都可能需要配置中心的功能,我们都导入到common里边。上面呢,是Monaco s来做注册中心完成服务的注册,发现相关功能导入的依赖好,我们可以在这儿注释一下,这是注册发现。服务的注册发现。然后呢?我们下边呢?再来导入我们刚才的这个配置管理,哎,我们连接注册中心连接我们的配置中心。配置中心来做,咱们这个配置管理的,咱们这个相关依赖,这个依赖呢,我们就按照官方文档把这个复制来,这是我们第一步导入依赖。接下来第二步假设呢,我们这个这个优惠券服务需要呢,配置中心帮我们来管理这个服务里边的所有相关配置。那么呢,我们可以参照文档来做第二步,第二步呢,需要在我们类路径下src慢下创建一个叫bootstrap properties这个文件。这个文件呢,其实是spring boot里边规定的,如果我们项目里边有这么一个文件,这个文件呢,会优先于application properties来加载它。它里边的配置呢,会先被读取好,那么在这个配置文件里边呢,需要配置这么两个东西,第一个是我们当前应用的这个名字。当前的应用名字,我们可以先来写一个spring。点儿application name,我们应用名呢,都是我们的这个当前的模块的名字,微服务的名字,这我们配的第一个当前应用的名字。第二个来指定na cos配置中心的这个地址,以前呢,这是discovery服务注册发现的地址,现在呢,是配置中心的地址。而这个配置中心呢,其实就是我们这个启动的nacos服务器,它兼顾了咱们这个服务注册发现以及配置管理,也就是配置中心的功能好,我们呢,接下来就来写配置中心的。config server addr那这个呢?也是我们本机的幺幺70点01冒号8848好,我们在这儿指定好了以后呢,接下来我们相当于就配置好了,配置中心的一些相关信息。那么接下来呢?我们做来来做一个测试,比如我们来在这写一个controller好,我们就在这个controller里边来写一个请求。public好,我们还是返回r。然后呢,我们就来写一个test。诶request mapping来帮我们来发送请求,还是我们这个test请求,然后呢,它比如来获取两个我们配置中的值,比如以前我们给。这里边配置的一些值我们比如配一个,比如user点name吧,我们随便配一个叫张三,比如user点age。等于18。我们可以将任何配置呢,都抽取到配置文件中,我们想要获取呢,以前是这样子做的。比如我们在这儿来写上两个变量,一个是string的name,一个是integer的age,而这两个变量呢?我们在配置文件中都配过,所以我们直接可以用spring的ant value注解。来获取到配置文件的值直接dollar符大括号,只要在application properties里边配的东西,我们直接可以在这来取user点name诶,就是这样。那么这个呢?也一样按它value。dollar符大括号。user点。age好,比如呢,我们发一个test请求,我们将这两个呢返回一下诶,我们return。r点OK,他帮我们返回一个OK OK里边呢,帮我们来put一个东西,他的名字叫什么名字呢?就是我们。从配置文件中获取的,并且呢,再来放一个他的年龄是多少,也是我们从配置文件中获取的。只不过呢,目前我们是先把它配置到配置文件中,我们虽然呢,配置了配置中心的相关地址,但我们现在可以来启动看一下。我们再来启动我们这个car服务的时候呢。我们来发送我们这个carpen car pen test,请求我们看它能不能先获取到基本的一些值。好,我们这个优惠券呢,它是在7000端口稍等一下。好,我们来点击期间端口,我们先来测试一下carpen car pen test。哎,我们发现呢,这个name age都有值name雷凤阳这个age 18,只不过这个name呢,不是我们当时配的值。来看一下,那当时配的这个呢?是从配置文件中取出user点name,而user点name呢?这其实是一个系统变量,所以呢,它取出的是我们这个JAVA环境系统里边的这个名字。就是我们当前计算机的这个名字,所以呢,这个为了区分开,比如我们就叫car点user点name好,我们来写上我们自己的前缀。carbon点user点edge,包括我们在这取的时候呢,我们也加上自己的当前应用的这个前缀。诶,我们配置的时候呢,给它多加一个前缀好,我们现在呢,重新来启动我们这个优惠券服务。那么呢,这个就是正常的,从配置文件中获取值,它是能获取到的。来测试一下。好,稍等,让它启动来刷新。好,现在呢?name age都能正确的获取到值,但是呢,假设我们现在有这么一个需求。我呢,想要把这个年龄和名字都要修改,修改了以后呢,那我们还要实时的看到结果,那我们以前是这样子的,假设我们这个应用已经上线了。想要修改,那我们需要修改源代码配置文件中,比如我们把name改成张三二,然后呢18改成20。我们把这个应用的配置改好了,以后呢,重新将应用打包又发布上去,又来重新启动。启动了以后呢,你再来发请求才能看到,所以这样呢,会非常麻烦,包括我们当前应用,如果在十台机器都同时部署了,那么。那我们把这个应用呢,相当于配置,相当于修改以后重新打包,要给十台服务器重新再来部署一遍,这样就非常麻烦,那我们希望做的是什么?我们将我们的这些配置可以交给配置中心,配置中心呢,我们刚才指定了地址叫8848。如果配置中心有了这些配置,我们在配置中心一改,让它动态全改,那怎么做这个事呢?其实在我们这个服务在一启动的时候,我们能看到这么一个。日志这个日志呢叫加载诶,我们这个定位定位呢,我们这个数据源,我们的属性的来源从哪定位呢?他可以从na cos中。来获取一个叫鼓励mail carbon properties,这个东西相当于呢,我们配置中心中如果有这么一个配置,那么它里边的配置呢,也会被获取来。那好,这个配置的名字呢?一般默认现在是我们当前应用名,加上它的properties好,我们现在呢,就把它复制来,我们来到配置中心。na cos在这有一个配置列表,我们在这呢,可以点一个加号哎,我们创建一个配置配置呢,这有一个data ID相当于我们这个数据的ID配置的ID。这个ID呢,就是我们这个配置文件的名字,我们叫鼓励mail,就在我们这一块来写着的好,我们先给这一复制,然后。然后呢,配置的信息由于它是一个properties,把我们以前的这个配置呢,我们可以拿过来。我们原来是给这儿配了两个东西,但每次要改这儿太麻烦了,我们把它搬家到配置中心好,我们放在这儿,然后呢,我点一个发布。好发布了以后呢?接下来我们来看最终的效果,假比如呢?我们把这个卡顿现在重启一下。因为以前呢,还没有加载到这个properties,如果我们现在加载到了properties,我们现在重启一下。我们来看一下。我如果来刷新,先看能不能正确的获取到值哎,能获取到张三二十,但如果我们现在想要修改怎么办呢?当前,应用正在上线中,不不能像以前改了配置,把应用重新打包,这样太麻烦了。我们可以来到配置中心。好,我们比如这有一个配置列表,我们看到有这个鼓励mail car,这个properties我们在这呢,可以点击编辑我们。我们把这个配置呢20,我们可以改成22,我们点一个发布,我希望呢,在这儿把这个改成22,你再次来请求这块儿能动态的变成22。我们发现呢,这没动态变成22,想要动态变呢,非常简单,只需要结合一个注解,比如我们来到这个controller里边。哎,我们用一个注解叫refresh scope来,我们来刷新,然后呢,我们让它刷新配置,这样的话呢,每一次我们这个配置呢,它都会从配置中心动态的来获取到。那现在来重新再来测试一下,那么整个步骤呢,其实非常简单,只要我们导了这个配置中心相关的依赖,然后呢,在这儿配置一下配置中心的地址。将所有的配置搬家到配置中心,并标注一个这个配置刷新的注解,我们以后呢,就能动态获取到来看一下。那现在呢?先来刷新目前呢?这是22是从配置中心获取的,我们现在呢?改成一个24好,我们改成张三。我们点一个发布,我们直接在配置中心把我们这个配置一发布,然后呢,我们在这儿重新测试刷新,哎,我们发现呢,张三二十四这就已经动态改了,我们不需要。重新来为这个微服务打包,重新发布到我们这个服务器中。那我们基本的把它的用法总结一下,我们来到我们这个主程序中。哎,我们在这儿呢,总结一下配置中心是怎么使用,如何使用na cos作为配置。配置中心。统一。管理配置。但这个步骤呢,首先我们要做的第一步就是引入我们这个依赖,哎,这个依赖呢是我们之前说的na cos作为配置中心的这个依赖。叫nu cos config这个starter好,我们直接把这个复制过来。这是我们做的第一步,引入依赖,然后呢,我们要做的第二步,第二步,我们呢,需要创建一个创建一个。一个这个文件叫bootstrap properties,这个名是固定的哎,这是spring boot的规定,我们只要给这个配置文件中配上关键的两项。第一项是我们当前应用的名字,第二项是配置中心服务器的这个地址,当然这个配置中心的。的前提就是我们得启动ns服务器。好在这呢,配置上这两项,然后呢,接下来第三步。第三步,我们需要呢,需要给配置中心。默认。添加一个叫叫什么呢?我们来看一下,在配置中心中默认添加一个叫当前应用名点properties。这个我们称为叫data ID数据集添加一个,我们叫数据集,我们这个叫数据集,也就是。data ID,然后呢?这个data ID呢?默认的名必须叫这个,这个规则呢?就是默认默认规则。默认规则就是应用名点properties。然后呢?我们给配置中心中加一个这个,然后呢?给这个。里边再来添上所有的配置添加。任何配置。我们把这个任何配置呢,都可以添到这个properties里边,那我们想要动态获取配置怎么办?动态获取配置非常简单。结合两个注解。第一个注解呢,叫refresh scope。我们叫动态刷新配置。这个呢,其实是在使用咱们这个spring cloud,原来默认的这些配置中心也需要写的这个注解,这是第一个注解结合,第二个注解叫ant value。获取某个配置的值。好这一块呢,就可以它的作用可以动态刷新配置。动态获取并刷新配置。然后呢?我们这个ant value我们在这呢,写成dollar符大括号,我们这个配置项。的零也许这样呢,比如我们写了一个car pen user点name,它呢,就能获取到我们这个。配置,而且呢,我们刚才看到一个效果,就是当我们application properties中配了一个,而且呢,同名的我们还配在我们这个配置中心里边。那优先用的是谁呢?看配置中心是张三二十4 application properties,里边是张三二二十,我们在这呢,通过测试发现呢,用的是张三二十四。也也就是配置中心有的优先使用配置中心,如果配置中心和当前应用当前应用。配置文件中。都配置了相同的项。都配置了相同的项。那么呢,优先使用配置中心的配置,这样呢,我们就可以以后在配置中心改一个配置,让当前的这个微服务。所有的东西呢,都动态的进行修改。

  • 38
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值