• SpringCloud Alibaba Nacos配置中心快速搭建


    58b1d823fd0f48379156599db01a735a.png 

    Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录。而 Nacos 作为 Spring Cloud Alibaba 的核心组件之一,提供了两个非常重要的功能:服务注册中心(服务注册和发现)功能,和统一配置中心功能。

    Nacos 简介

    Nacos 致力于帮助开发者发现、配置和管理微服务。它提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。

    Nacos 特性介绍

    Nacos 具有以下特性:

    服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。
    动态配置服务:动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。
    动态 DNS 服务:动态 DNS 服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单 DNS 解析服务。
    服务及其元数据管理:支持从微服务平台建设的视角管理数据中心的所有服务及元数据。
    配置中心功能实现

    1.添加依赖

    创建一个新的 Spring Boot 项目,添加 nacos config 和 web(非必须)框架依赖,如下图所示:

    2fc48593184749978665cf82533e6759.png 

    PS:添加 web 依赖主要作用是为了方便后面代码测试。
    如果是老项目,那么需要手动添加 nacos config 的依赖,修改 pom.xml 文件,添加以下内容:

    bccd4b42a6ae4db5b893a545dfbc8a7d.png 

    2.配置 Nacos Config 信息

    在应用的 /src/main/resources/ 目录下,创建引导配置文件 bootstrap.yml(或 bootstrap.properties),添加以下 Nacos Config 配置信息:

    9d1c16978627434f8e08d7bd53284ea7.png 

    3.编写代码读取配置文件

    创建一个控制器,使用 @Value 注解读取配置信息,读取方式和 Spring Boot 读取本地配置代码一致:

    e6f3fed87d2746b1a4c6a5c9d53a4313.png 

    4.Nacos 控制台添加配置信息

    在 Nacos 控制台创建并设置配置文件,执行步骤如下所示。 首先,在配置列表中点击“添加”按钮,如下图所示:

    f94c0ade9304464493eeb19eb3b0dffb.png
    进入配置页面,新建 YAML 或 Properties 配置文件,如下图所示: 

    203e5ab8925d4a769b13737aa314c213.png
    以上关键参数的含义和规则说明如下。 

    ① Data ID

    Data ID 的拼接格式如下:

    21fba1e5d6d044129ea62682e74d5019.png
    其中 

    prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix 来配置。
    spring.profiles.active 即为当前环境对应的 profile,当 active profile 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
    file-extension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 类型。
    ② Group

    Group 分组选项,主要是用来隔离不同的配置项目的,它的默认值为 DEFAULT_GROUP,可以通过 spring.cloud.nacos.config.group 配置。 配置好相应的内容之后,点击底部的“发布”按钮即可,添加成功之后会自动返回配置列表,如下图所示:

    9ae5a5cc934f45b6bc36d1d33393b9a0.png
    启动项目,查看执行结果如下图所示: 

    545b7059d45843b6bfd0c6b59f9c82e0.png 

    动态刷新功能

    动态刷新功能是指:在 Nacos 配置中心修改的配置内容,在不重启项目的前提下可以实时的读取到。 Nacos 默认会为所有获取数据成功的 Nacos 的配置项添加了监听功能,在监听到服务端配置发生变化时会实时触发 org.springframework.cloud.context.refresh.ContextRefresher 的 refresh 方法。 但如果需要对 Bean 进行动态刷新,需要参照 Spring 和 Spring Cloud 规范,推荐给类添加 @RefreshScope 或 @ConfigurationProperties 注解。 以上面的案例来说,如果需要添加动态刷新功能,只需要在控制器上添加 @RefreshScope 注解即可,实现代码如下:

    0e0f8b8d08664d779e17d3cb6dd6b727.png
    最终的实现结果如下: 

    7fdf496b48c94826913d1edb513b640c.gif 

    亮点功能介绍

    Nacos 配置中心有两个很好用的功能:一个是修改配置时的内容对比,让您一眼就可以看出此次修改的配置内容,防止误操作;第二个是历史版本一键回滚功能,让您能够轻松的实现溯源和回滚配置文件。

    1.配置文件对比

    在修改配置文件时,会先出现一个配置文件的对比预览页面,如下图所示:

    0db3a9ab38be46b1b3775d89e90ad2df.png
    这样您就可以清楚的看到此次修改和添加的具体配置信息了,从而减少了误改的风险。 

    2.历史版本一键回滚

    Nacos 通过提供配置版本管理及其一键回滚能力,帮助用户改错配置的时候能够快速恢复,降低微服务系统在配置管理上的一定会遇到的可用性风险。

    2ae59b6b0e874124a20dfbcfd53e7c01.png2d292bff020b42d7a7c09c1d8e2ebfc9.png  

    总结

    Nacos 作为 Spring Cloud Alibaba 的核心组件之一,提供了两个非常重要的功能:注册中心和配置中心功能。其中配置中心是将配置文件从本地化,变更为云端化的过程(Nacos 服务端),这样既能保证配置文件的安全性,又能实时的修改、查看、回滚和动态刷新配置文件了。

  • 相关阅读:
    配置网卡多队列
    【Flutter】webview_flutter使用详解
    【数据结构】 拿捏二叉树堆排序与遍历
    【附源码】Python计算机毕业设计社区老人健康服务跟踪系统
    【Android常见问题(六)】- UX标注色值带有百分比的使用方法
    黄菊华老师,Python毕业设计毕设辅导教程(2):Python开发准备,Window 平台安装 Python
    劫持TLS绕过canary && 堆和栈的灵活转换
    【Redis】 缓存双写一致性
    企业电子招投标采购系统源码之电子招投标的组成
    研发效能|Kubernetes核心技术剖析和DevOps落地经验
  • 原文地址:https://blog.csdn.net/m0_72088858/article/details/126845043