天天看点

NACOS-配置中心

一、本地使用nacos

1. 下载nacos安装包

2.0.1是最新版,1.4.2是稳定版

NACOS-配置中心

2. 启动nacos服务

本地直接启动该文件会报错,要将启动模式从集群修改为单机

set MODE = 'standalone'      
NACOS-配置中心

3. 访问localhost:8848/nacos

账号密码:nacos/nacos

4. 新增配置项

将application.properties需要隐藏的数据拷贝到配置内容中,例如将数据库连接的用户名密码配置到nacos

NACOS-配置中心

5. 引入nacos依赖

<dependency>
  <groupId>com.alibaba.boot</groupId>
  <artifactId>nacos-config-spring-boot-starter</artifactId>
  <version>0.2.1</version>
</dependency>      

6. 加上注解使用

dataId是配置信息中的Data ID

@NacosPropertySource(dataId = "mysql.properties")      

注意:如果不连接外置数据库,那么所有的配置信息都保存在data文件下。

二、服务器使用nacos

由于将配置信息放到data文件下会存在误删等风险,所以考虑将配置信息持久化到数据库中

1. 安装

NACOS-配置中心

2. 配置

2.1 配置单机模式

# /bin/startup.sh

export MODE="standalone"      

2.2 新建nacos配置库(目前只支持MySQL),执行初始化脚本/conf/nacos-mysql.sql

2.3 修改数据库连接配置

# /conf/application.properties

### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root  
db.password.0=123456
      

3. 启动

# /bin目录下执行

sh startup.sh      

配置项命名规范如下:
${prefix}-${spring.profile.active}.${file-extension}

prefix:对应项目名称 spring.application.name
spring.profile.active:对应环境 dev/test/prod等
file-extension:对应配置文件类型 properties/yml等      

5. 项目中配置nacos

5.1 引入nacos依赖

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

5.2 在bootstrap.yml配置nacos服务器

使用spring cloud时,配置信息是从nacos server加载的,为了获取到配置信息,必须要提前配置,bootstrap.yml的加载比application.yml早,因此需要将nacos的信息放到bootstrap优先加载。

spring:
  application:
    name: test-demo
  cloud:
    nacos:
      config:
        file-extension: properties
        server-addr: localhost:8848      

注意:如果项目中动态刷新nacos配置,使用@RefreshScope注解即可