• nacos配置管理


     Nacos Starter 配置项信息

    配置项Key默认值说明

    服务端地址

    spring.cloud.nacos.discovery.server-addr

    Nacos Server 启动监听的ip地址和端口

    服务名

    spring.cloud.nacos.discovery.service

    ${spring.application.name}

    给当前的服务命名

    服务分组

    spring.cloud.nacos.discovery.group

    DEFAULT_GROUP

    设置服务所处的分组

    权重

    spring.cloud.nacos.discovery.weight

    1

    取值范围 1 到 100,数值越大,权重越大

    网卡名

    spring.cloud.nacos.discovery.network-interface

    当IP未配置时,注册的IP为此网卡所对应的IP地址,如果此项也未配置,则默认取第一块网卡的地址

    注册的IP地址

    spring.cloud.nacos.discovery.ip

    优先级最高

    注册的端口

    spring.cloud.nacos.discovery.port

    -1

    默认情况下不用配置,会自动探测

    命名空间

    spring.cloud.nacos.discovery.namespace

    常用场景之一是不同环境的注册的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

    AccessKey

    spring.cloud.nacos.discovery.access-key

    当要上阿里云时,阿里云上面的一个云账号名

    SecretKey

    spring.cloud.nacos.discovery.secret-key

    当要上阿里云时,阿里云上面的一个云账号密码

    Metadata

    spring.cloud.nacos.discovery.metadata

    使用Map格式配置,用户可以根据自己的需要自定义一些和服务相关的元数据信息

    日志文件名

    spring.cloud.nacos.discovery.log-name

    集群

    spring.cloud.nacos.discovery.cluster-name

    DEFAULT

    配置成Nacos集群名称

    接入点

    spring.cloud.nacos.discovery.enpoint

    UTF-8

    地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地址

    是否集成Ribbon

    ribbon.nacos.enabled

    true

    一般都设置成true即可

    是否开启Nacos Watch

    spring.cloud.nacos.discovery.watch.enabled

    true

    可以设置成false来关闭 watch

    Nacos 存储配置有几个比较重要的表分别是:

    • config_info 存储配置信息的主表,里面包含 dataId、groupId、content、tenantId、encrypt edDataKey 等数据。
    • config_info_beta 灰度测试的配置信息表,存储的内容和 config_info 基本相似。有⼀个 beta _ips 字段用于客户端请求配置时判断是否是灰度的 ip。config_tags_relation 配置的标签表,在发布配置的时候如果指定了标签,那么会把标签和配置 的关联信息存储在该表中。his_config_info 配置的历史信息表,在配置的发布、更新、删除等操作都会记录⼀条数据,可 以做多版本管理和快速回滚。

    配置管理  

    概念

    • 配置(Configuration) 在系统开发过程中通常会将⼀些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配 置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物 理运行环境进行适配。配置管理⼀般包含在系统部署的过程中,由系统管理员或者运维人员完成这 个步骤。配置变更是调整系统运行时的行为的有效手段之⼀。
    • 配置管理 (Configuration Management) 在 Nacos 中,系统中所有配置的存储、编辑、删除、灰度管理、历史版本管理、变更审计等所有 与配置相关的活动统称为配置管理。 配置服务 (Configuration Service) 在服务或者应用运行过程中,提供动态配置或者元数据以及配置管理的服务提供者。
    • 配置项(Configuration Item) ⼀个具体的可配置的参数与其值域,通常以 param-key = param-value 的形式存在。例如我们常 配置系统的日志输出级别(logLevel = INFO | WARN | ERROR) 就是⼀个配置项。
    • 配置集(Configuration Set) ⼀组相关或者不相关的配置项的集合称为配置集。在系统中,⼀个配置文件通常就是⼀个配置集, 包含了系统各个方面的配置。例如,⼀个配置集可能包含了数据源、线程池、日志级别等配置项。
    • 命名空间(Namespace) 用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。 Namespace 的常用场景之⼀是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源 (如数据库配置、限流阈值、降级开关)隔离等。如果在没有指定 Namespace 的情况下,默认使 用 public 命名空间。
    • 配置组(Group) Nacos 中的⼀组配置集,是配置的维度之⼀。通过⼀个有意义的字符串(如 ABTest 中的实验组、 对照组)对配置集进行分组,从而区分 Data ID 相同的配置集。当您在 Nacos 上创建⼀个配置时, 如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。配置分组的常见场 景:不同的应用或组件使用了相同的配置项,如 database_url 配置和 MQ_Topic 配置。
    • 配置 ID(Data ID) Nacos 中的某个配置集的 ID。配置集 ID 是划分配置的维度之⼀。Data ID 通常用于划分系统的配 置集。⼀个系统或者应用可以包含多个配置集,每个配置集都可以被⼀个有意义的名称标识。Data ID 尽量保障全局唯⼀,可以参考 Nacos Spring Cloud 中的命名规则:  ${prefix}-${spring.profiles.active}-${file-extension}
    • 配置快照(Configuration Snapshot) Nacos 的客户端 SDK 会在本地生成配置的快照。当客户端无法连接到 Nacos Server 时,可以使 用配置快照显示系统的整体容灾能力。配置快照类似于 Git 中的本地 commit,也类似于缓存,会 在适当的时机更新,但是并没有缓存过期(expiration)的概念

    基础模型

    1. Nacos 提供可视化的控制台,可以对配置进行发布、更新、删除、灰度、版本管理等功能。
    2. SDK 可以提供发布配置、更新配置、监听配置等功能。
    3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5 是否相等,不相等推送配置变更。
    4. SDK 会保存配置的快照,当服务端出现问题的时候从本地获取

    Nacos 存储配置有几个比较重要的表分别是:

    • config_info 存储配置信息的主表,里面包含 dataId、groupId、content、tenantId、encrypt edDataKey 等数据。
    • config_info_beta 灰度测试的配置信息表,存储的内容和 config_info 基本相似。有⼀个 beta _ips 字段用于客户端请求配置时判断是否是灰度的 ip。
    • config_tags_relation 配置的标签表,在发布配置的时候如果指定了标签,那么会把标签和配置 的关联信息存储在该表中。
    • his_config_info 配置的历史信息表,在配置的发布、更新、删除等操作都会记录⼀条数据,可 以做多版本管理和快速回滚
  • 相关阅读:
    Zookeeper选举Leader源码剖析(二)
    计算机毕业设计选题推荐-小说推荐系统-Python项目实战【爬虫+可视化+协同过滤算法】
    鸿蒙面试题
    使用Minikube+docker+harbor+k8s自动化部署 @by_TWJ
    HR应用在线人才测评,给企业招聘带来的好处
    Unity获取脚本的CustomEditor(自定义编辑)数据
    折叠式菜单怎么做编程,初学编程系统化教程初级1上线
    【Python】queue模块Queue对象
    闲置APP小程序开发 你不喜欢的可能正是别人需要的
    ExpressQuantumPack显示的值的图标
  • 原文地址:https://blog.csdn.net/yanjianpeng_2018/article/details/126701117