SpringCloudAlibaba 企业级应用实战:Nacos Config客户端使用入门案例

Nacos Config客户端使用入门案例

Nacos Config客户端使用入门案例

本案例旨在介绍如何使用SpringCloudAlibaba Nacos Config进行服务配置管理。

客户端使用方式

引入 Nacos Config 依赖

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

配置文件说明

spring.application.name=sca-nacos-config
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

注意事项:以上配置是 Nacos 服务端地址和微服务应用名称,该配置需要配置于bootstrap.properties文件中。

微服务配置信息

Nacos服务端添加如下配置:

server.port=7003

Nacos服务端配置如下图:
在这里插入图片描述

注意事项:

  1. dataid是以 properties(默认的文件扩展名方式)为扩展名。

应用启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;

@SpringBootApplication
public class ScaNacosConfigApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext applicationContext = SpringApplication.run(ScaNacosConfigApplication.class, args);

        ConfigurableEnvironment environment = applicationContext.getEnvironment();
        String serverPort = environment.getProperty("server.port");

        System.out.printf("------------ 启动端口号: " + serverPort + " ------------\n");

    }

}

启动应用,观察控制台输出信息,如下:

2019-12-29 16:39:57.546  INFO 64523 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$21406196] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-12-29 16:39:57.744  INFO 64523 --- [           main] c.t.s.n.c.ScaNacosConfigApplication      : Started ScaNacosConfigApplication in 2.166 seconds (JVM running for 3.04)
------------ 启动端口号: 7003 ------------
Disconnected from the target VM, address: '127.0.0.1:52406', transport: 'socket'

基于 dataid 为 yaml 的文件扩展名配置方式

Nacos Config对于 yaml 格式也是完美支持的,这个时候,只需两步就可以完成:

  1. 在应用的 bootstrap.properties 配置文件中显示的声明 dataid 文件扩展名。如下所示
spring.cloud.nacos.config.file-extension=ymal
  1. 在 Nacos 的控制台新增一个dataid为yaml为扩展名的配置,配置如下:
 server:
    port: 7004

Data ID: sca-nacos-config.yml
Group: DEFAULT_GROUP

Nacos Config服务端如图:

配置完成后,重新应用程序,观察控制台输出:

2019-12-29 20:37:06.093  INFO 66737 --- [           main] c.t.s.n.c.ScaNacosConfigApplication      : Started ScaNacosConfigApplication in 1.991 seconds (JVM running for 2.853)
------------ 启动端口号: 7004 ------------
Disconnected from the target VM, address: '127.0.0.1:54731', transport: 'socket'

Nacos Config 支持 Profile 粒度配置

nacos-config 在加载配置的时候,不仅仅加载了以 dataid 为 ${spring.application.name}.${file-extension:properties}为前缀的基础配置,还加载了dataid为 ${spring.application.name}-${profile}.${file-extension:properties}的基础配置。在日常开发中如果遇到多套环境下的不同配置,可以通过Spring 提供的 ${spring.profiles.active} 这个配置项来配置。

在应用的 bootstrap.properties 配置文件中增加profile属性配置,如下:

spring.profiles.active=dev

同时,在Nacos服务端增加sca-nacos-config-dev.yaml配置,修改端口号为:7005。配置如下:

server:
    port: 7005

重新启动应用,观察控制台输出,如下:

2019-12-29 20:49:55.882  INFO 67003 --- [           main] c.t.s.n.c.ScaNacosConfigApplication      : Started ScaNacosConfigApplication in 1.883 seconds (JVM running for 2.675)
------------ 启动端口号: 7005 ------------
Disconnected from the target VM, address: '127.0.0.1:54988', transport: 'socket'

引用

参考链接:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config
源代码链接:https://github.com/myNameIssls/spring-cloud-alibaba-study/tree/master/sca-dependences/sca-nacos-config

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值