前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springboot使用nacos做配置中心

springboot使用nacos做配置中心

作者头像
小尘哥
发布2021-03-03 14:39:28
5380
发布2021-03-03 14:39:28
举报
文章被收录于专栏:小尘哥的专栏

nacos,官方介绍【一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台】,本文我们先来了解它的配置管理。官方网址

分布式配置中心有多个,包括Apollo、Disconf等等,已经有大神做了各种对比,技术没有好坏,选择适合自己的最好,我们选择nacos是结合了它的服务发现和服务管理,这一块后面再说,今天我们先来看看如何使用它的配置管理。

一、服务端

  1. 先从官方下载nacos-server-$version.zip,目前建议使用稳定版v1.4.1
  2. 扔到服务器上(建议linux,windows也可以,只是启动脚本不同),解压
  3. 执行startup.sh -m standalone 表示单机模式
代码语言:javascript
复制
unzip nacos-server-1.4.1.zip
 cd nacos
 sh startup.sh -m standalone

这样服务端即配置完成,访问地址:http://{你的IP}:8848/nacos;默认登录名/密码:nacos/nacos

二、客户端

  • 随便建一个springboot工程,过程略,pom引入依赖
代码语言:javascript
复制
<properties>
        <java.version>1.8</java.version>
        <nacos-config-spring-boot.version>0.2.1</nacos-config-spring-boot.version>
    </properties>
      <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>${nacos-config-spring-boot.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-actuator</artifactId>
            <version>${nacos-config-spring-boot.version}</version>
        </dependency>
  • 启动类添加注解 dataId 一旦确定不能修改,否则可能找不到配置
代码语言:javascript
复制
@SpringBootApplication
@NacosPropertySource(dataId = "mos", autoRefreshed = true)
public class CoreApplication{
    public static void main(String[] args) {
        SpringApplication.run(CoreApplication.class, args);
    }

}

*application.yaml添加配置

代码语言:javascript
复制
server:
  port: 8888
nacos:
  config:
    server-addr: 你的IP:8848
management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always
  • 编写测试controller 可以看到{useLocalCache}没有任何配置,为了避免程序异常可以赋一个默认值:{useLocalCache:false}
代码语言:javascript
复制
@RestController
@RequestMapping("config")
public class ConfigController {

    @NacosValue(value = "${useLocalCache}", autoRefreshed = true)
    private boolean useLocalCache;

    @RequestMapping(value = "/get", method = GET)
    public boolean get() {
        return useLocalCache;
    }

}
  • 测试
  • 登陆配置中心,添加配置
  • 重新验证

作为配置中心就是这么简单,当然,我们一般开发会分为dev、sit、uat、pro等环境,不同的环境配置也不尽相同,我们可以使用nacos的namespace来解决这个问题,后续再来说明。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陌与尘埃 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、服务端
  • 二、客户端
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档