> 文章列表 > Nacos作为注册中心和配置中心

Nacos作为注册中心和配置中心

Nacos作为注册中心和配置中心

Cloud依赖:

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope>
</dependency>

1:注册中心:

(1):导入Maven依赖包:服务注册依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

首先Nacos需要先创建一个组和一个命名空间。不填写命名空间的话会自动生成一个

Nacos作为注册中心和配置中心

这里的1010班级命名空间改成dev402与下面图对应:

Nacos作为注册中心和配置中心
Nacos作为注册中心和配置中心

根据命名空间和组在项目中的服务可以找到这个自己所在的地方:完成服务注册,完成服务注册暂时没有用到group分组,分组是与下面的服务配置有关

spring:cloud:nacos:# 【注册中心】相关配置discovery:# 命名空间(大分组)默认为:publicnamespace: dev402# 分组名称,默认为【DEFAULT_GROUP】group: xuecheng-plus-project# 注册中心地址server-addr: localhost:8848

Nacos作为配置中心:

Maven依赖:跟上面注册中心的几乎一样只有最后一个单词不同;

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

在环境下新增配置:在上述通过namespace、group找到具体的环境和具体的项目后,会通过dataid找到具体的配置文件,这个dataid一共由三部分组成:

例:content-service-dev.yaml配置文件 由(content-service)-(dev). (yaml)三部分组成:

  • content-service:第一部分,它是在application.yaml中配置的应用名,即spring.application.name的值。

  • dev:第二部分,它是环境名,通过spring.profiles.active指定,

  • Yaml: 第三部分,它是配置文件 的后缀,目前nacos支持properties、yaml等格式类

本地配置文件中:

spring:application:name: content-servicecloud:nacos:server-addr: 192.168.101.65:8848discovery:namespace: devgroup: xuecheng-plus-projectconfig:namespace: devgroup: xuecheng-plus-projectfile-extension: yamlrefresh-enabled: true#profiles默认为devprofiles:active: dev

然后比如数据库连接这种配置就可以写在nacos中:

Nacos作为注册中心和配置中心

如果某一个微服务引用了其余微服务的配置,需要在配置文件中引入:根据dataid寻找配置

 extension-configs:- data-id: content-service-${spring.profiles.active}.yamlgroup: xuecheng-plus-projectrefresh: true

Nacos作为注册中心和配置中心

公共配置:swagger+logging

Nacos作为注册中心和配置中心
Nacos作为注册中心和配置中心
Nacos作为注册中心和配置中心

在yml中引用:

Nacos作为注册中心和配置中心

总结:

1:通过环境名字找到服务;

Nacos作为注册中心和配置中心
Nacos作为注册中心和配置中心
Nacos作为注册中心和配置中心
Nacos作为注册中心和配置中心