美文网首页
配置中心:Spring Cloud Alibaba Nacos

配置中心:Spring Cloud Alibaba Nacos

作者: 睦月MTK | 来源:发表于2020-05-21 17:37 被阅读0次

声明:入门级文档,更多内容会持续更新,不足之处,望不吝指点


一、启动Nacos配置中心
  • Nacos的安装与启动
    大体可以参照服务发现:Spring Cloud Alibaba Nacos一文来启动,在此就不赘述了
  • 中心配置的添加
    • 点击配置管理-配置列表
    • 可以选择导入配置来批量导入配置,也可以选择右侧的加号来添加一个配置文件
    • Data Id就是配置文件的名字,包括配置文件的后缀名,比如nacos-client-provider.yaml
    • Group就是配置文件要加入的组,一个配置文件是通过组名和文件名共同来确定唯一性的
    • 配置格式选择对应的配置格式
    • 配置内容就是配置的具体内容,务必按所选格式书写
    • 点击发布

二、应用中如何使用Nacos配置中心的配置
  • 添加依赖
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
  • 添加配置文件bootstrap.yaml
spring:
  application:
    name: nacos-client-provider
  cloud:
    nacos:
      # nacos config相关的配置
      config:
        # 配置中心地址,可以和服务中心的一样,也可以不一样
        server-addr: localhost:8848
        # 命名空间
        namespace: 0d12689e-cd5b-483b-a050-162398ee9482
        # 配置所在组
        group: nacos-client-provider-test
        # 配置文件的后缀名,默认是properties , 该项对Custom Data Id是不起作用的
        file-extension: yaml
        # 下方两个配置都是设置配置文件名的(除了后缀)优先级是 prefix > name > spring.application.name
        # prefix: nacos-client-provider
        # name: nacos-client-provider
        # 字符格式
        #encode: UTF-8
      # nacos discovery相关的配置
      discovery:
        server-addr: localhost:8848
        # 命名空间
        namespace: 0d12689e-cd5b-483b-a050-162398ee9482
  • 给需要注入配置的地方加上@Value注解
@Value("${cn.mtk.nacos-test.hello}")
private String hello;
  • Nacos支持随时发布新的配置,你可以在Nacos的控制台中点击编辑然后发布新的配置,你的应用会接收到发布的事件,并进行配置的更新。给需要动态更新配置的地方加上@RefreshScope注解,这样就可以在配置被更新时,更新整个需要动态配置的Bean
@RestController
@RequestMapping("/provider")
@RefreshScope
public class ProviderController {

    @Value("${cn.mtk.nacos-test.hello}")
    private String hello;

    @GetMapping("/getHello")
    public String getHello(){
        return hello;
    }
}

附:

  • Nacos中额外的全局设定如何配置
    如果我想给多个服务再多指定一个所有服务共享的配置
spring:
  cloud:
    nacos:
      # nacos config相关的配置
      config:
        extension-configs:
          - dataId: application.yaml
            group: nacos-client-provider-test
            refresh: true

参考文档:
[1] spring cloud alibaba

相关文章

网友评论

      本文标题:配置中心:Spring Cloud Alibaba Nacos

      本文链接:https://www.haomeiwen.com/subject/rtrtahtx.html