nacos配置中心入门

目录

[1 Nacos 简介](#1 Nacos 简介)

[2 Nacos 作为配置中心的优势](#2 Nacos 作为配置中心的优势)

[3 安装与启动](#3 安装与启动)

[3.1 下载 Nacos](#3.1 下载 Nacos)

[3.2 安装前的系统要求](#3.2 安装前的系统要求)

[3.3 启动 Nacos Server](#3.3 启动 Nacos Server)

[3.3.1 在本地环境启动(单机模式)](#3.3.1 在本地环境启动(单机模式))

[3.3.2 集群模式(生产环境)](#3.3.2 集群模式(生产环境))

[4 配置中心的基础使用](#4 配置中心的基础使用)

[4.1 通过控制台管理配置](#4.1 通过控制台管理配置)

[4.1.1 创建新配置](#4.1.1 创建新配置)

[4.1.2 查看和编辑配置](#4.1.2 查看和编辑配置)

[4.2 客户端读取配置](#4.2 客户端读取配置)

[4.2.1 引入依赖](#4.2.1 引入依赖)

[4.2.2 配置 Nacos 地址](#4.2.2 配置 Nacos 地址)

[4.2.3 取配置数据](#4.2.3 取配置数据)

[4.3 动态刷新配置](#4.3 动态刷新配置)

[4.4 配置监听](#4.4 配置监听)

[5 总结](#5 总结)


1 Nacos 简介

  • 定义与背景 :Nacos(N aming and Co nfiguration Service)是一个由阿里巴巴开源的服务发现和配置管理平台。它支持动态服务发现、配置管理和服务健康监控,广泛应用于微服务架构。

  • 核心功能:Nacos 主要提供两大核心功能:服务发现和配置管理。作为配置中心,它的功能尤其突出在于管理和动态更新分布式系统中的配置。

2 Nacos 作为配置中心的优势

  • 动态配置更新:支持配置的实时推送和更新,不需要重启应用即可使配置生效。

  • 中化管理:提供统一的界面来管理所有的配置,便于运维。

  • 多环境支持:支持多环境隔离,方便不同环境下的配置管理。

  • 丰富的 API:支持 RESTful API,可灵活地与各种编程语言集成。

3 安装与启动

3.1 下载 Nacos
  1. 从官网或 GitHub 下载 :前往 Nacos 官方 GitHub 页面 下载最新稳定版本的二进制包。例如,nacos-server-2.x.x.zip。

  2. 解压缩:将下载的压缩文件解压到指定目录。

3.2 安装前的系统要求
  • 操作系统:支持 Linux、Windows、MacOS 等。

  • Java 环境:确保已安装 Java 8 或更高版本,并将 JAVA_HOME 设置为正确的路径。

3.3 启动 Nacos Server
3.3.1 在本地环境启动(单机模式)
复制代码

//单机模式适合本地开发和简单测试:

//进入解压目录 cd nacos/bin。

//在 Linux/Mac 上运行:-m standalone 参数表示以单机模式启动,而不是集群模式。 ./startup.sh -m standalone

//在 Windows 上运行: startup.cmd -m standalone

//启动成功后,默认会在 http://localhost:8848/nacos 启动控制台。

3.3.2 集群模式(生产环境)
复制代码

//配置集群

//编辑 conf 目录下的 cluster.conf 文件,将集群节点信息添加进去,如: 192.168.1.100:8848

192.168.1.101:8848

192.168.1.102:8848

//确保各个节点间网络互通,并启动 startup.sh 或 startup.cmd,但无需 -m standalone 参数。

//外部数据库配置

//在 conf 目录中,编辑 application.properties 文件: spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://<MYSQL_HOST>:3306/nacos_configcharacterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.user=<USERNAME>

db.password=<PASSWORD>

//导入 Nacos 提供的 nacos-mysql.sql 文件到 MySQL 中,以初始化数据库。

//打开浏览器,访问 http://localhost:8848/nacos。

//默认用户名和密码(如果有权限设置)通常为 nacos/nacos,也可以在 application.properties 中修改默认账户设置。

4 配置中心的基础使用

4.1 通过控制台管理配置

Nacos 提供了直观的 Web 控制台,用户可以方便地创建、修改和查看配置。

4.1.1 创建新配置
  1. 登录到 Nacos 控制台,默认访问地址为 http://localhost:8848/nacos。

  2. 选择"配置管理" > "配置列表"。

  3. 点击"新建配置"按钮,填写以下信息:

  • Data ID:配置项的唯一标识,例如 myapp-config.json。

  • Group:配置所属的分组,默认分组为 DEFAULT_GROUP。可以使用分组来隔离不同的业务模块或环境。

  • 配置内容:输入具体的配置内容,如 JSON、YAML 或纯文本。例如:

复制代码

"database.url": "jdbc:mysql://localhost:3306/mydb", "database.username": "root",

"database.password": "password"

  1. 点击"发布"保存配置。
4.1.2 查看和编辑配置
  • 返回"配置列表"页面,找到刚创建的配置项,点击其名称可以查看详情或进行修改。

  • 进行编辑后点击"发布"以应用新的配置。

4.2 客户端读取配置

在应用程序中读取 Nacos 配置,需要通过客户端 SDK 进行集成。例如,使用 Spring Boot 集成 Nacos 配置中心。

4.2.1 引入依赖

在 pom.xml 中引入 Nacos 配置的依赖:

复制代码

<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-config -->

<dependency>

<groupId>com.alibaba.cloud</groupId>

<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>

<version>2022.0.0.0</version>

</dependency>

4.2.2 配置 Nacos 地址

在 application.properties 或 application.yml 中添加 Nacos 配置中心的地址:

复制代码

spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.application.name=my-app spring.cloud.nacos.config.namespace=public # 可选,指定命名空间

4.2.3 取配置数据

在代码中使用 @Value 注解来动态注入配置项:

java 复制代码
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ConfigController {

    @Value("${database.url}")
    private String databaseUrl;

    @GetMapping("/config")
    public String getConfig() {
        return "Database URL: " + databaseUrl;
    }
}
4.3 动态刷新配置

Nacos 配置中心支持自动刷新配置,应用程序无需重启即可应用新配置。在 Spring Boot 中,需要在配置类或启动类上添加 @RefreshScope 注解:

java 复制代码
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

@RefreshScope
@Component
public class MyConfigComponent {
    @Value("${database.url}")
    private String databaseUrl;

    @GetMapping("/config")
    public String getConfig() {
        return "Database URL: " + databaseUrl;
    }
}
4.4 配置监听

Nacos 支持配置的监听功能,应用程序可以监听配置变化并触发特定逻辑。

java 复制代码
import com.alibaba.nacos.api.config.annotation.NacosConfigListener;
import org.springframework.stereotype.Component;

@Component
public class ConfigChangeListener {

    @NacosConfigListener(dataId = "myapp-config.json", groupId = "DEFAULT_GROUP")
    public void onChange(String newConfig) {
        System.out.println("Config updated: " + newConfig);
        // 执行更新后的逻辑
    }
}

5 总结

通过这篇文章的介绍,相信你已经了解了 Nacos 作为配置中心的基本使用方法,从创建和管理配置到客户端集成和动态更新。Nacos 为分布式系统提供了安全、灵活的配置管理方案,使开发和运维人员可以轻松管理复杂的配置需求。希望这些内容能帮助你更好地应用 Nacos 来提升系统的稳定性与可维护性。如果需要更深入的研究或有进一步的问题,欢迎随时探讨!

相关推荐
李小白6626 分钟前
二叉树的练习题(中)
java·数据结构·算法
骑鱼过海的猫12329 分钟前
【redis】redis
java·数据库·redis
漫天转悠29 分钟前
Java21和Java8性能优化详细对比
java
逐星ing36 分钟前
[AIGC]使用阿里云Paraformer语音识别录音识别 API 进行音频处理 —— 完整流程及代码示例
人工智能·spring·阿里云·aigc·语音识别
y250838 分钟前
《抽象类和接口》
java·开发语言
脸红ฅฅ*的思春期40 分钟前
Java安全—log4j日志&FastJson序列化&JNDI注入
java·安全·log4j·fastjson·jndi注入
NMBG221 小时前
[JAVAEE] 网络编程
java·服务器·网络·tcp/ip·udp·java-ee
chunmiao30321 小时前
自建k8s集群,利用开源的GitLab、Jenkins和Harbor实现CI/CD和DevOps的过程回顾
java·开发语言
无敌最俊朗@1 小时前
c#————委托Action使用例子
java·前端·c#
single5941 小时前
【c++笔试强训】(第五篇)
java·开发语言·c++·vscode·学习·算法·牛客