nacos读取多个配置文件

举报
小小张自由--张有博 发表于 2022/03/29 22:50:21 2022/03/29
【摘要】 nacos读取多个配置文件

什么是 Nacos

官方地址奉上:什么是 Nacos,对于Nacos的简介官方说的很清楚,我说一下自己的理解。nacos常被我们称之为注册中心、配置中心。

何为注册中心:就是一个微服务项目中,其中有很多服务共同做一件事情,他们之间如何协作,如何管理,这里可以用到注册中心,当服务(Service)启动时,将自己的一个实例,注册到注册中心上,注册中心可以做服务发现,服务健康监测,心跳机制,正是由于服务启动后都注册到注册中心,所以注册中心也会做负载均衡的策略。

何为配置中心:正常的一个微服务项目都会有一个自己的配置文件(application),在这里可以配置服务的端口号、数据库地址等等。当程序启动时会,加载读取配置文件中的信息。当有多个服务时,我们可以将配置文件(application)放到远端,将项目中每个服务的配置放到一起,统一管理,动态配置等。

如何管理多个配置

例如在三个yml中,导入logback-spring.xml。yml文件管理我们所有的配置项,logback-spring.xml管理我们的日志配置。

一个配置可以多处引用。

将配置文件分开,有助于我们解耦合,每个文件管理一些配置项(单一职责),统一管理,易维护、易更新。

1.通过在配置文件中设置数组: ext-config

server:
  port: 9000
  servlet:
    context-path: /arpro-web
spring:
  cloud:
    nacos:
      discovery:
        server-addr: d-nacos.dmsd.tech:80
        namespace: arpro
      config:
        server-addr: d-nacos.dmsd.tech:80
        namespace: arpro
        group: DEFAULT_GROUP
#        prefix: arpro
#        file-extension: yml
#重点重点
        ext-config:
          - data-id: arpro.yml
            refresh: true
          - data-id: logback-spring.xml
            refresh: true
  application:
    name: arpro
mybatis:
  mapper-locations: classpath:Mapper/*.xml
#logging:
#  config: classpath:logback-spring.xml:
logging:
  config: classpath:logback-spring.xml #(正确),但是找不到文件

2.在配置文件中写出其他配置项的地址

server:
  port: 9000
  servlet:
    context-path: /arpro-web
spring:
  cloud:
    nacos:
      discovery:
        server-addr: d-nacos.dmsd.tech:80
        namespace: arpro
      config:
        server-addr: d-nacos.dmsd.tech:80
        namespace: arpro
        group: DEFAULT_GROUP
#        prefix: arpro
#        file-extension: yml
        ext-config:
          - data-id: arpro.yml
            refresh: true
          - data-id: logback-spring.xml
            refresh: true
  application:
    name: arpro
mybatis:
  mapper-locations: classpath:Mapper/*.xml
  
#重点重点
logging:
  #file:
  #  name: logs/${spring.application.name}.log
  config: http://${spring.cloud.nacos.config.server-addr}/nacos/v1/cs/configs?group=DEFAULT_GROUP&tenant=${spring.cloud.nacos.config.namespace}&dataId=logback-spring.xml

#logging:
#  config: classpath:logback-spring.xml:
#logging:
#  config: classpath:logback-spring.xml #(正确)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。