当前位置: 首页 > article >正文

nacos配置中心入门

目录

1 Nacos 简介

2 Nacos 作为配置中心的优势

3 安装与启动

3.1 下载 Nacos

3.2 安装前的系统要求

3.3 启动 Nacos Server

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

3.3.2 集群模式(生产环境)

4 配置中心的基础使用

4.1 通过控制台管理配置

4.1.1 创建新配置

4.1.2 查看和编辑配置

4.2 客户端读取配置

4.2.1 引入依赖

4.2.2 配置 Nacos 地址

4.2.3 取配置数据

4.3 动态刷新配置

4.4 配置监听

5 总结


Nacos 简介

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

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

Nacos 作为配置中心的优势

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

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

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

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

安装与启动

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.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 注解来动态注入配置项:

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 注解:

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 支持配置的监听功能,应用程序可以监听配置变化并触发特定逻辑。

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);
        // 执行更新后的逻辑
    }
}

总结

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


http://www.kler.cn/a/394579.html

相关文章:

  • C语言打印时间精确到毫秒
  • Pytest-Bdd-Playwright 系列教程(9):datatable 参数的使用
  • ABAP开发学习——ST05 ABAP SQL跟踪工具
  • aws-athena查询语句总结
  • Springboot配置全局异常通用返回
  • 学法减分交管12123模拟练习小程序源码前端和后端和搭建教程
  • 【达梦数据库】参数优化脚本主要改什么
  • spark.default.parallelism 在什么时候起作用,与spark.sql.shuffle.partitions有什么异同点?
  • LaTeX中浮动体(图片、表格)的位置及上下间距设置
  • 使用命令强制给ESXI上的硬盘分区
  • Grafana Username password invalid
  • JavaScript的展开运算符在React中的应用
  • 游戏引擎学习第11天
  • 软件测试计划和测试用例详解
  • 鸿蒙学习生态应用开发能力全景图-鸿蒙生态伙伴 SDK 市场(4)
  • 家政服务平台管理系统(源码+文档+部署+讲解)
  • Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?
  • 【数据结构】顺序表解析及实战运用
  • 【Redis实战篇】利用布隆过滤器解决缓存穿透问题
  • 力扣题目解析--合并两个链表
  • SystemVerilog学习笔记(十一):接口
  • 相机光学(四十)——2x2 Adjacent Pixel Binning
  • 小程序开发者工具的network选项卡中有某域名的接口请求,但是在charles中抓不到该接口
  • Python图像识别详解
  • STL学习-排序算法
  • Python-requests模块详解!