阿里巴巴Nacos使用纪录一(作为配置中心)

之前项目中使用得是配置中心是SpringCloudConfig,没有操作页面而且监听配置更改需要另行实现,实在是不方便,最近花时间切换到了阿里的Nacos,简单纪录下过程

Nacos项目地址:官方github项目地址
官网地址:官网地址
本文示例Demo地址: 本文Demo地址 Dev分支

项目安装
  • 安装过程略,官网很详细,需要注意的就是默认使用的是内置数据库,可以配置使用Mysql
项目依赖&配置
  • 依赖
<dependency>
     <groupId>com.alibaba.cloud</groupId>
     	<artifactId>spring-cloud-starter-alibaba-nacosconfig</artifactId>
     	<version>2.1.1.RELEASE</version>
 </dependency>
  • BootStrap.yml
spring:
  cloud:
    nacos:
      config: #配置中心根节点
        server-addr: arthas557.nacos.com:8848 #nacos部署地址:端口(默认8848)
        file-extension: yaml #配置文件后缀:nacos里面的配置名称后缀 
        prefix: arthas557-admin # 当前项目本身配置
        ext-config: #此处为额外加载的配置文件(项目中通常有一些公用配置,比如:数据库配置,官方给出的配置方式有三种,已数组的形式配置个人认为是最优,颗粒度最细)
          - {dataId: 'arthas557-common.yaml',group: 'arthas557-alibaba',refresh: 'true'} #额外加载的配置文件
        group: arthas557-alibaba #配置文件分组
        namespace: 7d00d36a-9bd3-45b8-a3eb-027f6ac6a6a7#名称空间ID,租户粒度的配置隔离,可以用以多环境配置(测试/生产)
      discovery: #作为注册中心根节点,略
        server-addr: arthas557.nacos.com:8848
        group: arthas557-alibaba
        namespace: 7d00d36a-9bd3-45b8-a3eb-027f6ac6a6a7
  • Nacos服务端配置示例
    服务端配置实例
    上图中arthas557-common.yml是以额外配置的形式进行加载,必须带有文件后缀。arthas557-admin,使用的是前缀,可以不用(此处需进一步确认)

  • 启动日志示例
    项目启动日志
    如图,会打印出当前应该加载的全部配置文件,如果文件内容不为空还会打印配置的具体值。文件不存在的话会提示ignore

官方给出的额外配置方式

原文: 官方提供的公共配置方式
本文采用的是第三种,第一种不考虑,第二种无法单独设置是否刷新。

最后

由于大部分情况下需要个人/测试/生产三个环境,通过启动参数指定nameSpace和Group过于繁琐,最后还是使用spring的profile模式,
多profile配置
如上图,使用spring约定的 bootstrap-{profile}.yml命名格式,每个环境里面配置相对应的nameSpace和Group,通过-D指定启动参数
idea增加环境参数
本地调试目前采用的是复制一份bootstrap.yml到项目中(不加入git版本管理),nacos服务端建立个人的namespace,修改启动参数指向本地profile.

以上仅为个人理解,有出错和可以优化的地方欢迎指正

追加:
今天交流群里有人反馈 nacos配置无法监听配置更新。但是启动时可以正常获取配置中心的值, 后来发现是防火墙未关。
推测nacos采用的是主动向客户端推送模式,nacos服务端应该有相关日志,找时间本地模拟一下,此处仅作纪录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值