首页 > 其他分享 >Nacos配置中心功能

Nacos配置中心功能

时间:2023-03-29 13:57:42浏览次数:41  
标签:功能 租户 配置 namespace Nacos nacos 分组

Nacos的配置管理模型#

对于Nacos配置管理,通过Namespace、group、Data ID能够定位到一个配置集。

img

命名空间(Namespace)#

命名空间(namespace)可用于进行不同环境的配置隔离。例如可以隔离开发环境、测试环境和生产环境,因为它们的配置可能各不相同,或者是隔离不同的用户,不同的开发人员使用同一个nacos管理各自的配置,可通过namespace隔离。不同的命名空间下,可以存在相同名称的配置分组(Group) 或 配置集。

配置分组(Group)#

配置分组是对配置集进行分组,通过一个有意义的字符串(如 Buy 或 Trade )来表示,不同的配置分组下可以有相同的配置集(Data ID)。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。配置分组的常见场景:可用于区分不同的项目或应用,例如:学生管理系统的配置集可以定义一个group为:STUDENT_GROUP。

配置集(Data ID)#

在系统中,一个配置文件通常就是一个配置集,一个配置集可以包含了系统的各种配置信息,例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。每个配置集都可以定义一个有意义的名称,就是配置集的ID即DataID。

配置项#

配置集中包含的一个个配置内容就是配置项。它代表一个具体的可配置的参数与其值域,通常以 key=value 的形式存在。例如我们常配置系统的日志输出级别(logLevel=INFO|WARN|ERROR) 就是一个配置项。

一个最佳实践#

Nacos抽象定义了Namespace、Group、Data ID的概念,具体这几个概念代表什么,取决于我们把它们看成什么,这里推荐给大家一种用法。

  • Namespace:代表不同环境,如开发、测试、生产环境;

  • Group:代表某项目,如XX医疗项目、XX电商项目;

  • DataId:每个项目下往往有若干个工程,每个配置集(DataId)是一个工程的主配置文件。

img

下面演示一个使用 spring boot 来获取配置的列子。

step1:添加Nacos的配置

nacos:
  config:
    access-key: 127.0.0.1:8848
    namespace: 6f97a206-ce19-44c2-85be-c601170d306e  -- 不配置的话默认是public

image-20210714155922495

上面是在配置中心上已经创建的namespace,代码中使用的是tpag这个空间。

step2:添加@NacosPropertySource注解

@Configuration
@NacosPropertySource(groupId = "xxl-job", dataId = "config-file", autoRefreshed = true)
public class NacosConfig {
}

上面的dataId必须填写,groupId不填写的默认。

image-20210714160255616

step3:使用配置

@RestController("/nacos")
public class NacosConfigCenter {

    @NacosValue(value = "${name:自由之路}", autoRefreshed = true)
    private String name;

    @GetMapping("/getName")
    public String getName() {
        return name;
    }
}

命名空间管理#

namespace 的设计是 nacos 基于此做多环境以及多租户(多个用户共同使用nacos)数据(配置和服务)隔离的。

多环境的角度

从一个租户(用户)的角度来看,如果有多套不同的环境,那么这个时候可以根据指定的环境来创建不同的 namespce,以此来实现多环境的隔离。例如,你可能有日常,预发和生产三个不同的环境,那么使用一套 nacos 集群可以分别建以下三个不同的 namespace。如下图所示:

img

从多租户的角度

从多个租户(用户)的角度来看,每个租户(用户)可能会有自己的 namespace,每个租户(用户)的配置数据以及注册的服务数据都会归属到自己的 namespace 下,以此来实现多租户间的数据隔离。例如超级管理员分配了三个租户,分别为张三、李四和王五。分配好了之后,各租户用自己的账户名和密码登录后,创建自己的命名空间。如下图所示:

img

可以通过Nacos控制台上面的“命名空间”菜单来进行命名空间的管理。

image-20210714163854643

配置管理#

通过控制台的“配置管理”菜单可以很方便的进行配置管理。

image-20210714170059146

这里面主要说下“监听查询”这个功能。

这个功能可以查询到有哪些节点正在监听配置文件,并且通过MD5值来判断,节点监听到的文件是不是最新的。

image-20210714175105102

参考#

作者:程序员自由之路

出处:https://www.cnblogs.com/54chensongxia/p/15012177.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

标签:功能,租户,配置,namespace,Nacos,nacos,分组
From: https://www.cnblogs.com/gaoyanbing/p/17268644.html

相关文章

  • Jenkins配置钉钉通知
    Jenkins配置钉钉通知  目录建群-配置机器人-取得讨论组token安装插件构建后-配置插件pipeline方式修改imageUrl图片地址调用一个图片地址就行了参考......
  • 【Visual Leak Detector】配置项 StackWalkMethod
    说明使用VLD内存泄漏检测工具辅助开发时整理的学习笔记。本篇介绍VLD配置文件中配置项StackWalkMethod的使用方法。同系列文章目录可见《内存泄漏检测工具》目录......
  • Apache 转发配置,解决跨域问题
    使用wamp时,项目需求指定的地址需要转发至另一端服务器的请求,同时能够解决跨域的问题Apache安装目录,修改/conf目录下的httpd.conf文件第一步 去掉两行的注释#去掉......
  • 同城跑腿小程序开发功能介绍
    同城跑腿小程序开发有哪些功能?1、多种跑腿类型选择通过同城跑腿小程序软件,能够详细地为用户提供多种跑腿类型,让用户可以更好地选择相关内容,解决生活中的各项跑腿需求问......
  • 新功能发布 | TSMaster工具箱集成开发环境系列2-工具箱极简开发流程
    前言本章节继续介绍TSMaster工具箱集成开发环境系列第二章,基于Python的界面设计。下面我们一起来看看在TSMaster环境下如何进行工具箱的极简开发。创建空间 Createspace/......
  • nginx配置vue打包npm build的静态页面
    nginx配置vue项目server{listen8081;server_name10.8.8.8;indexindex.html;root/home/www/crm/vue/dist;#SSL-STARTSSL相关配置,请勿删......
  • GO语言Windows安装和VScode配置
    (1)去GO官方下载安装软件https://go.dev/doc/install(2)exe安装,安装目录可以设置在c:\\go(3)环境变量配置,主要是GOROOT、GOPATH,参考https://blog.csdn.net/weixin_4810209......
  • 代码格式化插件prettier配置
    .prettierrc.jsmodule.exports={//一行最多可以有多少个字符printWidth:160,//一个tab相当于多少个空格tabWidth:4,//是否使用使用tab缩进useTa......
  • package.json 配置详解
    package.json配置说明详解基础配置{"name":"my-package",//包名必填字段"version":"1.0.0",//版本号必填字段"description":"Thisismyfirstnpmpa......
  • docker安装及配置镜像加速
    <p>一、卸载之前版本</p>sudoyumremovedocker\docker-client\docker-client-latest\docker-common\......