最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

nacos注册中心配置中心的使用

维修 admin 33浏览 0评论

nacos注册中心/配置中心的使用

Nacos下载:

Nacos启动:

此处为了演示方便,下载的是 Windows版本 nacos-server-2.2.2.zip 。
进入 nacos-server-2.2.2\nacos\bin 文件夹,按shift和右键,选择"在此处打开PowerShell窗口",如果是旧版本的Windows,可以选择打开 cmd。

输入:

 .\startup.cmd -m standalone

启动如下:

版本说明:

/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

Spring Boot 版本:2.6.13, 对应 Spring Cloud 版本: 2021.0.5, 对应Spring Cloud Alibaba 版本:2021.0.5.0

Spring Boot 版本:3.0,需要 jdk17。

创建SpringCloud项目

详情见:.html

Maven依赖:

    <properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.version><spring-cloud.version>2021.0.5</spring-cloud.version><spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>${spring-cloud-alibaba.version}</version></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>${spring-cloud-alibaba.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

启动报错:

  • SpringCloud 启动报错: No spring.config.import property has been defined

缺少以下依赖包:

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency>

bootstrap.properties 文件:

nacos的配置文件,最好写在 bootstrap.properties 文件里面。优先级最高。

配置文件优先级(由高到低):
bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml
若application与bootstrap中有相同的内容,以bootstrap为主

# Nacos帮助文档: .html
server.port=8083
spring.application.name=provider
spring.profiles.active=dev
# 设置配置中心服务端地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.prefix=provider
spring.cloud.nacos.config.file-extension=yaml# Nacos 配置中心的namespace。需要注意,如果使用 public 的 namcespace ,请不要填写这个值,直接留空即可
spring.cloud.nacos.discovery.namespace=
# Nacos 服务发现与注册配置。
# 其中子属性 server-addr 指定 Nacos 服务器主机和端口
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

ProviderApplication启用类:

记得,不要遗漏类上面的注解。

@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {public static void main(String[] args) {  SpringApplication.run(ProviderApplication.class, args);}}

控制层

@RestController
public class ProviderController {/***  后面的 :abc 表示默认值为 abc。*/@Value("${config.name:abc}")private String configName;@GetMapping(value = "/provider/config")public String getConfig() {return configName;}
}

nacos服务列表:

启动服务,在浏览器输入地址:http://127.0.0.1:8848/nacos

然后,打开Nacos服务列表:

可以看到,服务已经注册到Nacos上面了。

nacos配置列表:

启动服务,在浏览器输入地址:http://127.0.0.1:8848/nacos, 打开Nacos配置列表:
点击+号后,新建一个配置,如下:

nacos配置中心

  • 命名空间:
    主要是用于环境隔离。比如 dev环境一个命名空间,test环境一个命名空间。
    默认的命名空间是 public。

  • Data ID:

Data ID的格式为:

${prefix}-${spring.profile.active}.${file-extension}

以上的 这几个配置,都是在 bootstrap.properties中配置过的。

spring.profiles.active=dev
spring.cloud.nacos.config.prefix=provider
spring.cloud.nacos.config.file-extension=yaml

拼起来Data ID就是 provider-dev.yaml。
服务启动之后,会去这个Data Id里面找相关的配置。

如果不清楚自己配置的 Data Id是什么,也可以搜索启动的日志,搜索日志关键字:Nacos Config,
可以看到类似内容:

refresh.NacosContextRefresher    : [Nacos Config] Listening config: dataId=provider-dev.yaml, group=DEFAULT_GROUP

查看配置

启动服务之后,调用接口 localhost:8083/provider/config,可以看到,已经读取到了命名空间里面的 Data Id 的配置:

参考资料:

.html

.html

nacos注册中心/配置中心的使用

Nacos下载:

Nacos启动:

此处为了演示方便,下载的是 Windows版本 nacos-server-2.2.2.zip 。
进入 nacos-server-2.2.2\nacos\bin 文件夹,按shift和右键,选择"在此处打开PowerShell窗口",如果是旧版本的Windows,可以选择打开 cmd。

输入:

 .\startup.cmd -m standalone

启动如下:

版本说明:

/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

Spring Boot 版本:2.6.13, 对应 Spring Cloud 版本: 2021.0.5, 对应Spring Cloud Alibaba 版本:2021.0.5.0

Spring Boot 版本:3.0,需要 jdk17。

创建SpringCloud项目

详情见:.html

Maven依赖:

    <properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.version><spring-cloud.version>2021.0.5</spring-cloud.version><spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>${spring-cloud-alibaba.version}</version></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>${spring-cloud-alibaba.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

启动报错:

  • SpringCloud 启动报错: No spring.config.import property has been defined

缺少以下依赖包:

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency>

bootstrap.properties 文件:

nacos的配置文件,最好写在 bootstrap.properties 文件里面。优先级最高。

配置文件优先级(由高到低):
bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml
若application与bootstrap中有相同的内容,以bootstrap为主

# Nacos帮助文档: .html
server.port=8083
spring.application.name=provider
spring.profiles.active=dev
# 设置配置中心服务端地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.prefix=provider
spring.cloud.nacos.config.file-extension=yaml# Nacos 配置中心的namespace。需要注意,如果使用 public 的 namcespace ,请不要填写这个值,直接留空即可
spring.cloud.nacos.discovery.namespace=
# Nacos 服务发现与注册配置。
# 其中子属性 server-addr 指定 Nacos 服务器主机和端口
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

ProviderApplication启用类:

记得,不要遗漏类上面的注解。

@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {public static void main(String[] args) {  SpringApplication.run(ProviderApplication.class, args);}}

控制层

@RestController
public class ProviderController {/***  后面的 :abc 表示默认值为 abc。*/@Value("${config.name:abc}")private String configName;@GetMapping(value = "/provider/config")public String getConfig() {return configName;}
}

nacos服务列表:

启动服务,在浏览器输入地址:http://127.0.0.1:8848/nacos

然后,打开Nacos服务列表:

可以看到,服务已经注册到Nacos上面了。

nacos配置列表:

启动服务,在浏览器输入地址:http://127.0.0.1:8848/nacos, 打开Nacos配置列表:
点击+号后,新建一个配置,如下:

nacos配置中心

  • 命名空间:
    主要是用于环境隔离。比如 dev环境一个命名空间,test环境一个命名空间。
    默认的命名空间是 public。

  • Data ID:

Data ID的格式为:

${prefix}-${spring.profile.active}.${file-extension}

以上的 这几个配置,都是在 bootstrap.properties中配置过的。

spring.profiles.active=dev
spring.cloud.nacos.config.prefix=provider
spring.cloud.nacos.config.file-extension=yaml

拼起来Data ID就是 provider-dev.yaml。
服务启动之后,会去这个Data Id里面找相关的配置。

如果不清楚自己配置的 Data Id是什么,也可以搜索启动的日志,搜索日志关键字:Nacos Config,
可以看到类似内容:

refresh.NacosContextRefresher    : [Nacos Config] Listening config: dataId=provider-dev.yaml, group=DEFAULT_GROUP

查看配置

启动服务之后,调用接口 localhost:8083/provider/config,可以看到,已经读取到了命名空间里面的 Data Id 的配置:

参考资料:

.html

.html

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论