概述

Nacos作为配置中心,跟传统的配置文件不同。它可以实现线上修改配置,实时生效,中间不需要重启任何应用。

知识点

  • Nacos通过Namespace、Group、DataID来做多环境配置,他们之间的关系如下

  • Namespace主要用来区分部署环境的,比如开发环境dev、测试环境test、生产环境prod,他们之间互相是隔离的。Nacos默认的命名空间是public,不可以编辑,也不可以删除

  • Nacos默认的Group是DEFAULT_GROUP,Group可以把不同的微服务划分到同一个分组,例如某电商系统的订单服务、仓储服务、支付服务。

  • DataID是具体的微服务实例,通常每个服务对应一个DataID

引入依赖

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

Controller修改

  • 在Controller类上添加注解 @RestController,实现配置的自动更新
  • 在Controller定义接口,读取配置项developer.author,以此来验证配置实时更新
@RestController
@RefreshScope
public class HelloController {@Value("${server.port}")private String port;@Value("${developer.author}")private String author;@RequestMapping(value = "/echo/{name}", method = RequestMethod.GET)public String echo(@PathVariable String name){return "Hello Nacos:" + name +",Port:" + port +",author:" + author;}
}

Nacos配置

在Nacos的菜单 配置管理 -> 配置列表 点击新增,创建新的配置

  • Data ID:这里定义为test-provider-config.yaml,完整格式如下
${prefix}-${spring.profiles.active}.${file-extension}

prefix: 默认是spring.application.name值,也可以通过spring.cloud.nacos.config.prefix项进行配置

spring.profiles.active: 即为当前环境对应的profile,注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 $ {prefix}.${file-extension}

file-exetension: 配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型

  • 配置格式:这边选择yaml

  • 配置内容:把原生产者项目的application.yml拷过来,并添加developer.author测试项

spring:application:name: test-providercloud:nacos:discovery:server-addr: 192.168.25.131:8848server:port: 8010management:endpoints:web:exposure:include: "*"developer:author: 张三

bootstrap.properties

  • 删除生产者工程的application.yml文件,因为我们已经复制到Nacos配置了
  • 创建bootstrap.properties,这是SpringBoot工程第一个加载的配置文件。把以下配置复制进去,IP改成自己的就行
spring.application.name=test-provider-config
spring.cloud.nacos.config.server-addr=192.168.25.131:8848
spring.cloud.nacos.config.file-extension=yaml

测试

运行Provider程序,测试接口http://localhost:8010/echo/zhangsan。结果如下,有正确地读到了Nacos配置的developer.author


打开Nacos把刚才的developer.author改成李四,然后点击发布按钮

developer:author: 李四

再次测试

Nacos配置中心的基本使用就到这里了
最后,如果觉得这篇文章对您有所帮助,帮忙点赞+关注,谢谢。
本人将长期发布技术文章~~

4.Spring Cloud Alibaba教程:Nacos配置管理相关推荐

  1. 3.Spring Cloud Alibaba教程:Nacos服务注册与发现

    概要 官网地址:Nacos官网和帮助文档 Nacos安装:Linux安装Nacos1.3.1(还没安装的先看这篇文章安装) Nacos主要作用:服务注册与发现.配置管理 本篇主要介绍的是服务注册与发现 ...

  2. spring cloud Alibaba 的 Nacos学习笔记

    spring cloud Alibaba 的 Nacos学习笔记 文章目录 spring cloud Alibaba 的 Nacos学习笔记 下载nacos spring cloud Alibaba依 ...

  3. Spring Cloud alibaba 使用Nacos服务发现

    Provider 服务端 服务端我们复用前篇Spring Cloud alibaba 使用Nacos配置中心的代码 修改启动类 在启动类上添加@EnableDiscoveryClient 注解 开启服 ...

  4. Spring Cloud Alibaba - 19 Nacos Config配置中心加载不同微服务的通用配置的两种方式

    文章目录 Pre 实现 方式一 通过 shared-dataids 方式 方式二 通过 ext-config方式 配置文件优先级 源码 Pre Spring Cloud Alibaba - 18 Na ...

  5. Spring Cloud Alibaba - 18 Nacos Config配置中心加载相同微服务的不同环境下的通用配置

    文章目录 需求 实现 Step 1 Nacos Config 新增公共配置 Step 2 验证 配置文件优先级 源码 需求 举个例子,同一个微服务,通常我们的servlet-context 都是相同的 ...

  6. Spring Cloud Alibaba教程:使用Nacos作为服务注册中心

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 什么是Nacos? Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易 ...

  7. 谷粒商城微服务分布式基础篇二—— Spring Cloud Alibaba、Nacos注册与发现

    文章目录 Spring Cloud Alibaba--微服务开发 Spring Cloud Alibaba是什么?  主要功能  组件 为什么不使用Spring Cloud 使用 Nacos Disc ...

  8. 1.Spring Cloud Alibaba教程:简介

    概述 2018年10月31日,SpringCloudAlibaba 正式入驻 SpringCloud 官方孵化器,并在 Maven 中央库发布第一个版本. Spring Cloud for Aliba ...

  9. 8.Spring Cloud Alibaba教程:整合Seata分布式事务

    概述 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务. 更多的介绍可以参考官方文档:Seata快速入门 本篇主要是介绍Spring Cloud Alibaba ...

  10. 7.Spring Cloud Alibaba教程:整合Dubbo实现RPC调用

    概述 Apache Dubbo 是一款高性能的.基于Java的开源RPC框架,它提供了以下特性: 基于接口的远程方法调用 智能负载均衡 服务自动注册和发现 高可扩展性 运行期流量调度 可视化的服务治理 ...

最新文章

  1. Android -- Volley解析
  2. asp.net去掉HTML标记代码
  3. 怎么将零件整合到一起_Fraunhofer ILT用于大型零件3D打印的“边飞行边加工”的LPBF概念...
  4. 4.11-固件映像包 (FIP)
  5. Linux-服务器远程控制
  6. C#进阶系列——AOP?AOP!
  7. Promise进阶——如何实现一个Promise库
  8. 虚拟机安装docker_Docker 从入门到放弃:新手学习笔记(上)
  9. managed code和unmanaged code混合debug
  10. HALCON 21.11:深度学习笔记---模型(8)
  11. 区块链中心化业务必须基于中心化平台吗?
  12. 各主流浏览器的JS执行能力测试
  13. yum安装ruby_Centos安装ruby
  14. 第1节 中华人民共和国网络安全法
  15. 边写SQL边学数据库入门实验2(持续更新)
  16. 12种常见贴片焊接工具
  17. 古人为什么除了本名还要取字号?取字号根据什么规矩呢?
  18. 动态功能连接:前景、问题和解释
  19. 名帖296 傅山 行书《行书帖选》
  20. VS提示无可用源,此模块的调试信息…

热门文章

  1. 使用特殊的技术更新数据库(ABAP)
  2. 强制结束后台作业(SAP SM37 SM35 SM50)
  3. 物料分类账业务配置及操作手册
  4. 职场警示录:栽在邮件上的N种死法
  5. PP物料主数据中MRP相关配置字段理解
  6. 高级数据分析师凭什么月薪三万?一文解答你所有困惑
  7. 小朋友嘴里的“金钥匙”,良品小食仙、小鹿蓝蓝们要如何拿到?
  8. 长沙望城:当好“贴心人” 扎牢“人民根” 坚守“云阵地”
  9. java游戏最终boss烛龙_游戏中劝退玩家的变态小怪!神装扛不住它一击,难度秒杀最终BOSS?...
  10. php求未知数怎么求,PHP的-输入未知数的字段到MySQL-为此的最佳...