微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

集成nacos作为注册中心和配置中心

集成nacos作为注册中心和配置中心

最近自己的项目想要使用spring cloud alibaba的一系列微服务组件,所以在这里就先集成nacos作为注册中心和配置中心
接下来我会继续发布spring cloud alibaba的其他组件,包括openfeign,seata,sentinel等等,敬请期待

1.下载安装nacos(目前最新版是1.3.1)

 nocos安装包.           

下载 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注解

在这里插入图片描述

(3)在配置文件bootstrap.yml中加入两行配置

如果是bootstrap.properties:

spring.application.name: ycl-auth
spring.cloud.nacos.discovery.server-addr: 127.0.0.1:8848

如果是bootstrap.yml:

在这里插入图片描述

其中ycl-auth是你对这个微服务起的别名

确保,以上三步无错后,打开nacos

也就是点击nacos解压包中的bin文件中的startup.cmd

在这里插入图片描述

打开nacos后,在nacos中复制进入如下网址

在这里插入图片描述

进入网址后,点击服务列表,可以看到我配置的四个服务,都已经注册到了nacos中

在这里插入图片描述


如此就大功告成啦啦啦啦啦啦啦啦啦!!!


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 举报,一经查实,本站将立刻删除。

相关推荐