spring cloud alibaba(4)-nacos配置中心

nacos不仅是注册中心,同时也是配置中心,其安装和集群等参考上一篇

pom.xml

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

配置

127.0.0.1:8848是配置中心地址

spring:
  application:
    name: service
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848

代码

这里设置了一个动态参数hello,其值会动态从配置中心获取,如果配置中心没有设置,默认值为world。注解@RefreshScope可实现动态刷新参数

@RestController
@RefreshScope    //自动刷新
public class HelloController {
	
	@Value(value="${hello:world}")
	private String hello;
	
	@RequestMapping("/hello")
	public void hello() {
		System.out.println(hello);

动态更新配置

启动项目,以上接口默认会打印出world。通过nacos管理页面来动态修改这个值。配置管理--配置列表--点击右边的加号。

  • Date ID:项目中配置的服务名
  • Group:使用默认DEFAULT_GROUP
  • 配置内容hello=abc

配置后控制台会有日志刷新,再次请求接口会显示abc

Data Id

Data Id可以是一组配置参数的id,可以直接用服务应用名命名service,全名是service-profile.properties。profile参数可参考我写的profile,没有可以省略。后缀如果没写默认为properties。比如profile是dev,后缀是yml,配置如下:

项目中还要配置file-extension为yml

spring:
  application:
    name: service
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yml

namespace和group

namespace可包含多个group,group可包含多个Date ID。namespace和group本生并没有特别含义,可以用来隔离不同的配置。比如一个公司每个项目组使用不同的namespace,每个项目用不同的group,不同的模块用不同Date ID。具体你可以自行规划。如果不设置会用默认的namespace和group。

在nacos控制台命名空间中可添加namespace,注意,添加后的id是系统生成的一串字符,而不是你输入的名称

配置namespace和group

spring:
  application:
    name: service
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yml
        group: group1
        namespace: 71f97c35-15b1-493d-bdf3-276257124a6e

扩展配置

在我们多个模块,甚至多个不同的项目中,可能会存在一些相同的配置,可以在ext-config中配置多个扩展的公共data id,可实现各项目同步配置,refresh默认为false,改为true实现自动更新。扩展配置生效的优先级比自生配置低

spring:
  application:
    name: service
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yml
        group: group1
        namespace: 71f97c35-15b1-493d-bdf3-276257124a6e
        ext-config:
        - data-id: demo1.yml
          group: group2
          refresh: true

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值