SpringBoot+Nacos配置中心实战

本文介绍了如何利用Nacos作为配置中心和服务发现工具,实现SpringBoot应用的配置集中管理和动态更新。通过下载Nacos、引入依赖、配置SpringBoot、编写启动类和Controller,详细阐述了Nacos的使用步骤。当配置变更时,无需重启服务即可自动感知变化,提升了开发效率和系统可维护性。
摘要由CSDN通过智能技术生成

SpringBoot+Nacos配置中心实战

配置中心作用

1、对配置文件进行集中管理,在不同的环境下或者不同配置中,可以对配置文件进行更新和部署。

2、在程序的运行期间,可以对程序中的配置文件进行动态性调整。使用分布式配置中心,就不需要在每一台服务器上都进行配置文件的修改,所有的配置文件放在配置中心中,只需要在总服务器中进行修改,系统就会向其他的服务器进行统一的修改配置。

3、系统程序的配置发生了变动,无需要重新重启服务器,就能够自动感知相应的变化,实时更新。

配置中心优势

1、 高效。采用“配置集中管理”,可以很好的解决传统的“配置文件过于分散”的问题。所有的配置都集中在配置中心这一个地方管理,不需要每一个项目都自带一个,这样极大的减轻了开发成本。

2、配置与应用分离。所有的配置不放在应用中,而放在配置中心中。当不同环境有不同需求的时候,就到配置中心获取即可,极大的减轻了运维部署成本。

3、实时更新。系统程序的配置发生了变动,无需要重新重启服务器,就能够自动感知相应的变化,让对应的应用去调用最新的配置。

Nacos配置中心实战

Nacos是一个用于内外的分布式发现框架,我们都知道nacos一般是用在分布式框架中作为服务发现模块,实现服务的注册与发现。但是Nacos同样具备配置中心的作用,所以我们在做分布式时,可以考虑通过Nacos作为配置中心集中管理配置文件,而且不需要使用新的中间件去实现这个功能,做到引入一个模块同时能实现两种功能,提升开发效率与项目可维护性。

下面我来简单介绍一下Nacos的使用方法,大家可以简单参考一下。

1、下载Nacos

可以去官网下载压缩包或者去GitHub上下载,这里就不贴地址了

2、在Maven中引入Nacos依赖,注意Springboot和nacos的版本兼容问题,具体匹配见链接,同时版本不能太高,太高会无法识别配置,我也不知道为什么…我这里选的配置是Spring boot 2.3.2.RELEASE以及alibaba.cloud 2.2.6.RELEASE的版本,经测验可以使用

3、完成一系列springboot的初始化操作

4、设置nacos的配置文件,以下可以参考

server.port=8080
#配置中心
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#服务发现
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
#服务ID
spring.application.name=example

5、在配置启动类

@EnableDiscoveryClient
@SpringBootApplication
public class SpringBootTest10Application {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootTest10Application.class, args);
    }
}

6、编写controller类测试,以下代码用的官方测试代码

@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {

    @Value("${useLocalCache:false}")
    private boolean useLocalCache;

    @RequestMapping("/get")
    public boolean get() {
        System.out.println("ok");
        return useLocalCache;
    }
}

7、启动nacos,并在8848端口的nacos页面登录并配置配置

在这里插入图片描述

DataID命名格式:${prefix}-${spring.profiles.active}.${file-extension}

  • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
  • spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 propertiesyaml 类型。

配置结束后发布并启动服务器,然后通过测试接口进行测试,

测试结果如下

在这里插入图片描述

当改变配置时,服务器的配置也会跟着变

可以发现在分布式的框架下,在使用Nacos作为服务发现工具时,可以再将它作为配置中心,对所有的配置进行管理,能够很方便的修改配置,并实现动态生效。

参考文档

https://cloud.tencent.com/developer/article/1892015

置中心,对所有的配置进行管理,能够很方便的修改配置,并实现动态生效。

参考文档

https://cloud.tencent.com/developer/article/1892015

Nacos官网文档

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值