【Nacos】 配置中心 快速开始

Metadata

title: 【Nacos】 配置中心 快速开始
date: 2023-01-07 14:32
tags:
  - 行动阶段/完成
  - 主题场景/组件
  - 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
  - 细化主题/Module/Nacos/快速开始
categories:
  - Nacos
keywords:
  - Nacos
description: 使用 Spring Cloud Alibaba Nacos Config,可基于 Spring Cloud 的编程模型快速接入 Nacos 配置管理功能。

1. 如何引入Nacos Config进行配置

please use the starter with the group ID as com.alibaba.cloud and the artifact ID as spring-cloud-starter-alibaba-nacos-config.

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

快速开始

Nacos Config使用DataId和GROUP来确定配置。
如下图所示,DataId使用myDataid, GROUP使用DEFAULT_GROUP,配置格式为Properties的配置项:

初始化Nacos服务器

引入依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

bootstrap.properties

# DataId By default, the `spring.application.name` configuration is combined with the file extension (the configuration format uses properties by default), and the GROUP is not configured to use DEFAULT_GROUP by default. Therefore, the Nacos Config configuration corresponding to the configuration file has a DataId of nacos-config.properties and a GROUP of DEFAULT_GROUP
spring.application.name=nacos-config
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

Nacos 配置端点

{
    "NacosConfigProperties": {
        "serverAddr": "127.0.0.1:8848",
        "encode": null,
        "group": "DEFAULT_GROUP",
        "prefix": null,
        "fileExtension": "properties",
        "timeout": 3000,
        "endpoint": null,
        "namespace": null,
        "accessKey": null,
        "secretKey": null,
        "contextPath": null,
        "clusterName": null,
        "name": null,
        "sharedDataids": "base-common.properties,common.properties",
        "refreshableDataids": "common.properties",
        "extConfig": null
    },
    "RefreshHistory": [{
        "timestamp": "2019-07-29 11:20:04",
        "dataId": "nacos-config-example.properties",
        "md5": "7d5d7f1051ff6571e2ec9f90887d9d91"
    }],
    "Sources": [{
        "lastSynced": "2019-07-29 11:19:04",
        "dataId": "common.properties"
    }, {
        "lastSynced": "2019-07-29 11:19:04",
        "dataId": "base-common.properties"
    }, {
        "lastSynced": "2019-07-29 11:19:04",
        "dataId": "nacos-config-example.properties"
    }]
}

Nacos Config Starter Configurations

Nacos Config中启动器的其他配置如下所示:

Configuration Key Default Value Description
Server address spring.cloud.nacos.config.server-addr Nacos Server监听器的IP和端口
Dataid from nacos config spring.cloud.nacos.config.name 首先取前缀,然后取名称,最后取spring.application.name
Dataid from nacos config spring.cloud.nacos.config.prefix 首先取前缀,然后取名称,最后取spring.application.name
Encode for nacos config content spring.cloud.nacos.config.encode 为nacos配置内容编码
GROUP for nacos config spring.cloud.nacos.config.group DEFAULT_GROUP GROUP用于nacos配置
The suffix of nacos config dataId, also the file extension of config content. spring.cloud.nacos.config.fileExtension properties nacos config dataId的后缀,也是配置内容的文件扩展名(现在支持属性或yaml(yml))
Timeout for get config from nacos spring.cloud.nacos.config.timeout 3000 从nacos获取配置超时
Endpoint spring.cloud.nacos.config.endpoint 端点
Namespace spring.cloud.nacos.config.namespace 命名空间
AccessKey spring.cloud.nacos.config.accessKey 阿里云账号accesskey
SecretKey spring.cloud.nacos.config.secretKey 阿里云账户秘钥
The context path of Nacos Server spring.cloud.nacos.config.contextPath Nacos Server的上下文路径
Cluster name spring.cloud.nacos.config.clusterName 群名称
Dataid for Shared Configuration spring.cloud.nacos.config.sharedDataids 共享配置的数据辅助,用“,”分隔
Dynamic refresh dataid for Shared Configuration spring.cloud.nacos.config.refreshableDataids 共享配置的动态刷新数据辅助,以“,”分隔
custom dataid spring.cloud.nacos.config.extConfig 它是一个列表,由Config POJO创建。Config有3个属性,dataId, group和refresh