nacos 配置中心 V1.4.1

nacos 配置中心 V1.4.1


nacos服务端分为单机和集群两者,下文主要讲述单机版

1. 启动篇&部署篇

  1. nacos本地服务

    git clone https://github.com/alibaba/nacos.git
    cd nacos/
    mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
    打包成功后会出现zip,解压后进入distribution/target下,应该会有个nacos-sever-$version.zip,只提取这个至某目录下,解压后进入/nacos/bin
    - startup.cmd 开启服务
    - shutdown.cmd 关闭服务
    如果startup.cmd启动报错,可能是配置文件中默认注明以集群的方式启动的,此时需要编辑startup.cmd,<26>行修改为set MODE = "standalone",即以单机形式启动;
    
  2. docker部署nacos

    docker pull nacos/nacos-server:1.4.1
    首先,我们需要去初始化nacos的数据库
    在上文中nacos-sever-$version.zip解压后,进入/nacos/conf目录下,我们会发现nacos-mysql.sql脚本,我们可以使用该脚本进行初始化;
    另外,暂时我只发现需要关注两个配置文件,logs和application.properties
    在服务器中我们建立nacos文件夹,并在其中创建logs和config两个文件夹,目的是映射容器内两个文件夹;
    在config目录下创建application.properties,该文件可参考解压后的文件中/nacos/conf目录下的application.properties,注意开启mysql及以下属性
    - spring.datasource.platform=mysql
    - db.url.0
    - db.user.0
    - db.password.0
    
    配置对应的docker-compose,暂不介绍
    配置完后即可UP
    
2. nacos关键点介绍

看法:nacos可以看作一个配置管理中心,通常来说,我们会把项目配置文件写在config下,但是需要修改时我们需要访问服务器对应目录下的配置文件进行修改,如果配置文件的变更需要设计多个项目,重复操作过多。nacos帮助我们解决的就是此类问题,它提供web形式的图形化界面,我们可在界面中进行修改,配合@RefreshScope注解达到动态更新的目的。

nacos服务端登陆后,在配置管理-配置列表中可创建配置文件
配置文件的命名规则为
${prefix}-${spring.profiles.active}.${file-extension}
通常来说,prefix默认为spring.application.name,   而file-extension为我们在nacos里面创建配置文件的类型
** 这里需要注意: spring.cloud.nacos.config.file-extension可指定file-extension,但必须与我们nacos中创建的配置文件使用类型相同 **

nacos共有几个关键词需注意
- data-id 
- group
- namespace
其中data-id为${prefix}-${spring.profiles.active}.${file-extension}
group可指定,下文描述;
** namespace是完全隔离的,即不能在一个项目中跨越多个namespace **


** @Value关键字可读取配置文件中的对应属性 ** 
3. nacos解决方案:违背初衷的解决方案

我觉得,namespace可作为项目名,group可作为版本号,每个项目通过namespace做到隔离性,通过group可用作版本隔离,且可用作profiles的隔离;

通常来说,一个项目可以分为5个配置文件

  1. comment.properties 通用配置文件,多个项目可克隆复用
  2. 项目名.properties 该项目配置文件,主要用来配置该项目中在环境切换时不变的属性,如mybatis扫描的相关配置,项目私有的配置参数等;
  3. 项目名-profiles(dev,test,pro).properties 不同环境的私有配置,如ip的切换
4. 基本使用如下

spring:
  application:
    name: example
  cloud:
    nacos:
      config:
        prefix: 项目名up   优先级大于spring.application.name
        server-addr: 127.0.0.1:8848
        file-extension: yml
        group: V1_GROUP
        namespace: 项目名   作为命名空间
        (以下是依赖于其他配置文件,优先级下方大于上方)
        extension-configs:
          - data-id: comment.properties  通用配置
            group: COMMENT_V_GROUP
            refresh: true
          - data-id: 项目名+profikes.properties
            group: V1_GROUP
            refresh: true

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值