nacos配置通用配置

目录

前言

一.准备工作

二.nacos配置中心的操作

1.多环境配置

2.单环境配置

三.测试配置是否加载

总结


前言

最近在做一个微服务的练手项目,然后每个服务都需要去单独的配置数据库,redis等重复的配置,如果需要去修改时就需要同时的去修改多个文件,麻烦是一回事,但如果漏改配置的话项目可能因此无法启动,所以就去找了nacos共享配置的相关资料,在这里做nacos配置通用配置的一个总结。

一.准备工作

需要导入两个依赖

        <!-- nacos客户端依赖包 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--        nacos配置管理依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

需要将application.yml改为bootstrap.yml。

二.nacos配置中心的操作

1.多环境配置

如果有需要配置多个环境下的配置,需要创建额外的命名空间,然后在bootstrap.yml中的config填写对应的命名空间即可加载对应的配置,可以创建bootstrap-dev.ymlbootstarp-prod.yml,然后在文件里填写对应的命名空间,在bootstarp.yml指定运行环境,即可正确的加载配置。

示例代码如下:bootstarp.yml

spring:
  profiles:
    active: dev  #指定环境
  application:
    name: userservice  #服务名称

  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848  #nacos地址
        group: LLPY

这里的group如果不填默认值为DEFAULT_GROUP

在配置好上述的操作之后,就需要进行bootstrap-dev.yml的配置了,这里需要指定对应的命名空间,命名空间对应的id在创建时即可看见,或者在配置管理中也可见,如下图

我这里新建了一个配置,配置了redis和mysql的连接信息

bootstrap-dev.yml

这里需要注意data-id的填写,后缀应该是yaml,而不是yml

spring:
  cloud:
    nacos:
      config:
        namespace: a4c64d4f-45e6-4b77-9261-0ac7a9b244c1  #命名空间
        file-extension: yaml # 配置的后缀名
        # 使用extension-configs,多个配置加载多个dataId
        extension-configs:
          - data-id: common-dev.yaml #新建的配置,名称需要完全对应上
            group: LLPY
            refresh: true  # 动态刷新配置

需要注意的时,namespace需要填写在config下而不是discovery下,一开始我填写在discovery下,导致加载不到配置文件,因此排了很久的错。

2.单环境配置

进入nacos的配置管理中新建一个配置

 以下配置了redis和mysql的连接信息

创建完成之后就可以进行bootstarp.yml的编写了

bootstarp.yml

这里需要注意data-id的填写,后缀应该是yaml,而不是yml

spring:
  application:
    name: userservice  #服务名称
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848  #nacos地址
        group: LLPY
      config:    
        file-extension: yaml # 配置的后缀名
        # 使用extension-configs,配置加载多个dataId
        extension-configs:
          - data-id: common-dev.yaml #创建的配置,名称需要完全对上
            group: LLPY
            refresh: true  #动态刷新

三.测试配置是否加载

可以在config包下创建一个NacosConfigPrinter配置类,用来输出你在nacos配置中心中所配置的连接信息,如果打印正确,则说明配置成功被加载

import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

@Component
public class NacosConfigPrinter implements ApplicationListener<ApplicationReadyEvent> {

    private final Environment environment;

    public NacosConfigPrinter(Environment environment) {
        this.environment = environment;
    }

    @Override
    public void onApplicationEvent(ApplicationReadyEvent event) {
        // 打印Nacos配置
        System.out.println("Nacos配置:");
        System.out.println(environment.getProperty("spring.redis.host"));
    }
}

总结

在使用微服务开发项目时,可以使用nacos配置中心进行公共配置的编写,有效地管理和动态更新各种配置信息。同时降低了系统配置管理的复杂度和成本。

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Nacos作为配置中心时,需要进行以下步骤: 1. 在Nacos中新建配置文件,可以通过访问Nacos可视化管理界面来完成这一步骤。 2. 在Nacos页面中进行一些通用配置,如用户、角色配置等。其中,命名空间(namespace)是最顶层的分组,项目中需要用到该字段值。默认的namespace是public,可以自定义命名空间ID和命名空间名。 3. 在使用Nacos作为注册中心时,除了和Eureka依赖及配置文件不一样,其他流程都是一样的。需要创建一个父工程来进行配置。 综上所述,以上是使用Nacos作为配置中心的基本步骤和配置要点。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Nacos的使用(注册中心+配置中心)](https://blog.csdn.net/weixin_29119727/article/details/124728130)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Nacos基本使用:注册中心、配置中心](https://blog.csdn.net/hu18315778112/article/details/124099865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值