集成nacos作为注册中心和配置中心
最近自己的项目想要使用spring cloud alibaba的一系列微服务组件,所以在这里就先集成nacos作为注册中心和配置中心
接下来我会继续发布spring cloud alibaba的其他组件,包括openfeign,seata,sentinel等等,敬请期待
1.下载安装nacos(目前最新版是1.3.1)
下载 zip 后缀的压缩包后,解压即可,这里不重点提
2.集成nacos作为注册中心,分三步
(1)加入依赖(注册中心和配置中心的依赖)
<!--使用spring cloud alibaba需要的依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--注册中心需要的依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<!--配置中心需要的依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
(2)在每一个需要注册的微服务的启动类上加上@EnablediscoveryClient注解
如果是bootstrap.properties:
spring.application.name: ycl-auth
spring.cloud.nacos.discovery.server-addr: 127.0.0.1:8848
如果是bootstrap.yml:
确保,以上三步无错后,打开nacos
也就是点击nacos解压包中的bin文件中的startup.cmd
如此就大功告成啦啦啦啦啦啦啦啦啦!!!
3.集成nacos作为配置中心
之前我集成注册中心的时候,我都是看别人博客轻松搞定,但是集成配置中心的时候,我看别人博客实在是心累,讲的不清不楚的,验证是否集成成功也是特别繁琐。
所以我就自己看nacos官方文档,自己琢磨,然后终究被我研究出来了
(1)国际惯例,先加入依赖,额,在上面讲解如何集成nacos作为注册中心的时候已经把依赖添加了,大家可以看看文章开头。
(2)bootstrap.yml中加入配置,注意,必须是bootstrap,不能是application,因为集成nacos作为配置中心后,每次启动项目都要加载nacos中的配置才能启动成功,而application是项目启动成功后才会读取,bootstrap是启动时就读取配置。
其中:file-extension: yaml是用于规定nacos中配置文件的格式,默认是properties,这里规定为yaml(注意不是yml)
其中:profiles.active是标注项目环境,可加,可不加
如果加了
在nacos网站中的配置管理中添加配置文件
加入了profiles.active配置后,文件名就强制规定必须是:
微服务别名(ycl-auth)- profiles.active(dev) .yaml
所以我的文件名就是:ycl-auth-dev.yaml
如果没加profiles.active: dev 配置,那么文件名就是:
ycl-auth.yaml
然后可以写入配置了,同时也让我们验证一下在nacos中的配置是否能够影响到项目(也就是验证集成nacos作为配置中心是否成功)
我在nacos中没写任何配置,本地的bootstrap.yml中也没有规定ycl-auth微服务的端口号,那么我们启动该微服务后,端口号会被分配默认端口号:
可以看到,Auth被分配了一个8080的端口号
然后我们在nacos的配置文件中配置一下Auth的端口号
点击发布,重启Auth微服务,看看效果
哈哈,修改成功了,说明在nacos网站上修改的配置生效了,就非常的beautiful。
大多数情况下,在nacos中修改配置都不需要重启项目的,是能够动态加载新的配置的,但是端口号除外。
一般情况下,端口号是会配置在项目中的bootstrap.yml文件中的,因为nacos作为配置中心的核心作用就是修改配置文件后不用重启项目。
如果看了这篇博客成功配置了注册中心和配置中心,不值得你们点赞关注吗?
接下来我会继续发布spring cloud alibaba的其他组件,包括openfeign,seata,sentinel等等,敬请期待
—我是“道祖且长”,一个在互联网“苟且偷生”的java程序员
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。