Nacos系列-Nacos配置中心

简介: Nacos系列-Nacos配置中心

Nacos配置中心

五:总结&提升

一:背景介绍

接下来本系列博客将会整理Nacos的相关知识,主要将会涉及到 服务注册与发现、配置管理、分布式系统个、高可用和容错性、配置文件格式和解析几个方面。今天就先从配置管理讲起,看看如何使用nacos的配置管理,它能够给我们带来什么~


二:什么是Nacos配置中心

Nacos(全名为阿里巴巴中间件 NACOS,前身为阿里巴巴注册中心和配置中心)是一款用于实现微服务架构中配置管理和服务发现的开源产品。

作为云原生计算基金会(CNCF)下的一个孵化项目,Nacos提供了强大的配置管理和服务发现功能,广泛应用于微服务架构中,帮助开发者实现了配置的集中化管理、动态配置的实时更新以及服务的自动发现和注册。

本文将详细介绍Nacos配置中心的原理以及如何使用。

三:Nacos配置中心原理

3.1构成

Nacos配置中心的核心原理是将应用程序的配置信息集中存储在一个中心化的地方,供应用程序动态获取和更新。

Nacos配置中心采用了类似于键值对(Key-Value)的方式来管理配置信息,其中Key用于唯一标识一个配置项,Value存储了对应的配置值。

Nacos配置中心支持多种数据格式的配置,如Properties、YAML、JSON等,方便开发者根据实际需求选择合适的格式。

3.2 Nacos中心架构三个角色

Nacos配置中心的架构包括了三个主要的角色:配置提供者、配置消费者和配置中心服务器。


3.2.1 配置提供者

负责将应用程序的配置信息注册到Nacos配置中心,可以通过API或者配置文件的方式进行配置的发布和更新。


3.2.2 配置消费者

负责从Nacos配置中心获取配置信息,并在本地进行缓存,供应用程序在运行时读取和使用。


3.2.3 配置中心服务器

Nacos配置中心的核心组件,负责存储和管理所有的配置信息,并对外提供接口供配置提供者和配置消费者进行交互。


3.3 Nacos配置中心的重要功能

3.3.1 配置的动态更新

配置中心服务器可以实时监听配置的变更,并将更新后的配置信息推送给所有订阅了该配置的配置消费者,从而实现配置的动态更新,无需重启应用程序。


3.3.2 配置的版本管理

Nacos配置中心支持对配置的版本管理,可以根据需求进行配置的版本发布和回滚操作,方便管理配置的变更历史。


3.3.3 配置的命名空间和分组

Nacos配置中心支持配置的命名空间和分组功能,可以将配置信息按照不同的命名空间和分组进行隔离和管理,从而方便不同环境(如开发环境、测试环境、生产环境)的配置管理。


四: 如何使用Nacos的配置中心(以springBoot为例)

4.1 引入pom依赖

首先在我们的项目中引入对应的依赖,用来使用Nacos的配置中心

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

4.2 配置Nacos配置中心的相关属性

此处各项配置要结合自己搭建的对应的Nacos的各项设置进行,具体的搭建方式这里不做介绍

spring:
  application:
    name: serviceOne
  cloud:
    nacos:
      config:
        #配置中心地址
        server-addr: localhost:8848
        #命名空间
        namespace: service-hlz
        # 配置文件格式
        file-extension: yml
        # 配置文件名
        prefix: hlz

4.3 创建spring bean 用于读取Nacos配置中心的配置

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
@Component
@RefreshScope // 开启配置的动态刷新
public class AppConfig {
  //${example.config.key} 是配置属性的占位符,用于表示要读取的属性名。在实际应用中,可以将其替换为实际的属性名,例如 @Value("${server.port}") 表示读取名为 server.port 的属性值。
    @Value("${example.config.key:default_value}") // 通过Spring的@Value注解获取配置值
    private String configValue;
    public String getConfigValue() {
        return configValue;
    }
}

在这个示例中,我们使用了Spring Boot的**@Value注解来获取Nacos配置中心的配置值,并通过@RefreshScope注解来启用配置的动态刷新功能**,使得在配置更新时,应用程序能够自动刷新配置值。

我的配置文件示例4.4应用程序中进行使用

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ExampleController {
    @Autowired
    private AppConfig appConfig;
    @GetMapping("/config")
    public String getConfigValue() {
        return "Config value: " + appConfig.getConfigValue();
    }
}

在这个示例中,我们通过自动注入AppConfig Bean,并在/config接口中返回从Nacos配置中心获取的配置值。

启动Spring Boot应用程序,访问/config接口可以获取Nacos配置中心的配置值。


4.5 概括

以上示例展示了如何在Spring Boot应用程序中使用Nacos配置中心,实现配置的动态刷新和获取。通过Nacos的配置中心,可以方便地集中管理和更新应用程序的配置,实现配置的灵活管理和部署。


五:总结&提升

通过本文的讲解,相信你已经对nacos的配置中心有了初步的了解,并且学会了如何简单的进行应用。接下来的博客会带你一步一步走近nacos


目录
相关文章
|
2月前
|
Dubbo 关系型数据库 MySQL
nacos常见问题之命名空间配置数据上线修改如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
103 1
|
2月前
|
存储 运维 监控
NACOS 配置中心和注册中心是分两个集群部署还是放在一个集群中
【2月更文挑战第33天】NACOS 配置中心和注册中心是分两个集群部署还是放在一个集群中
86 2
|
2月前
|
运维 Java Nacos
nacos常见问题之配置账号密码
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
305 6
|
13天前
|
Nacos
nacos 配置页面的模糊查询
nacos 配置页面的模糊查询
|
18天前
|
机器学习/深度学习 Java Nacos
Nacos 配置中心(2023旧笔记)
Nacos 配置中心(2023旧笔记)
20 0
|
19天前
|
存储 前端开发 Java
第十一章 Spring Cloud Alibaba nacos配置中心
第十一章 Spring Cloud Alibaba nacos配置中心
25 0
|
21天前
|
敏捷开发 API 持续交付
云效产品使用常见问题之把云效上的配置发到Nacos上面去如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
1月前
|
SpringCloudAlibaba Java Nacos
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
|
2月前
|
Nacos
nacos手动创建配置命名空间隔离
nacos手动创建配置命名空间隔离
24 1
|
2月前
|
编解码 Java Nacos
nacos常见问题之密码加密配置如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
168 0