快速搭建 SpringCloud Alibaba Nacos 配置中心

springcloud+nacos搭建项目(一) springcloud 阅读详情

Nacos 简介

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

Nacos 特性介绍

Nacos 具有以下特性:

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

配置中心功能实现

1.添加依赖

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

PS:添加 web 依赖主要作用是为了方便后面代码测试。

如果是老项目,那么需要手动添加 nacos config 的依赖,修改 pom.xml 文件,添加以下内容:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
复制代码

2.配置 Nacos Config 信息

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

spring:
  application:
    name: nacosconfig # 项目名称和 nacos DataId 相匹配
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848 # nacos 地址和端口
        file-extension: yaml # 获取配置文件的格式:yaml
        username: nacos # nacos 认证用户名
        password: nacos # nacos 认证密码
server:
  port: 9001 # 项目启动端口
复制代码

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

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

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
    // 从 nacos 中读取配置项 config.info
    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/getconfig")
    public String getConfigInfo(){
        return configInfo;
    }
}
复制代码

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

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

进入配置页面,新建 YAML 或 Properties 配置文件,如下图所示: 以上关键参数的含义和规则说明如下。

① Data ID

Data ID 的拼接格式如下:

prefix−{prefix} - prefix−{spring.profiles.active} . ${file-extension}

其中

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

② Group

Group 分组选项,主要是用来隔离不同的配置项目的,它的默认值为 DEFAULT_GROUP,可以通过 spring.cloud.nacos.config.group 配置。

配置好相应的内容之后,点击底部的“发布”按钮即可,添加成功之后会自动返回配置列表,如下图所示:

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

动态刷新功能

动态刷新功能是指:在 Nacos 配置中心修改的配置内容,在不重启项目的前提下可以实时的读取到。

Nacos 默认会为所有获取数据成功的 Nacos 的配置项添加了监听功能,在监听到服务端配置发生变化时会实时触发 org.springframework.cloud.context.refresh.ContextRefresher 的 refresh 方法。

但如果需要对 Bean 进行动态刷新,需要参照 Spring 和 Spring Cloud 规范,推荐给类添加 @RefreshScope 或 @ConfigurationProperties 注解。

以上面的案例来说,如果需要添加动态刷新功能,只需要在控制器上添加 @RefreshScope 注解即可,实现代码如下:

  import org.springframework.beans.factory.annotation.Value;
  import org.springframework.cloud.context.config.annotation.RefreshScope;
  import org.springframework.web.bind.annotation.GetMapping;
  import org.springframework.web.bind.annotation.RestController;

@RestController
@RefreshScope // 开启配置文件的动态刷新
public class TestController {
    // 从 nacos 中读取配置项 config.info
    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/getconfig")
    public String getConfigInfo(){
        return configInfo;
    }

}
复制代码

最终的实现结果如下:

亮点功能介绍

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

1.配置文件对比

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

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

2.历史版本一键回滚

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

项目源码

gitee.com/mydb/spring…

总结

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

SpringCloudAlibaba-Nacos服务搭建 max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', 阅读详情

相关推荐

关于SpringCloud:快速搭建 SpringCloud Alibaba Nacos 配置中心

Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录。而 Nacos 作为 Spring Cloud Alibaba 的核心组件之一,提供了两个非常重要的功能:服务注册中心(服务注册和发现)功能,和统一配置中心功能。 Nacos 简介 Nacos 致力于帮助开发者发现、配置和管理微服务。它提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。

m0_73533108的博客 389

Spring Cloud & Alibaba 快速上手搭建公司项目(二)Nacos

Nacos(全称为:阿里巴巴开源项目 - 命名服务 & 配置中心)是阿里巴巴集团开源的一个动态服务发现、配置管理和服务管理平台。它提供了一种简单易用的方式来管理和监控微服务应用程序中的服务实例、配置和元数据。Nacos是一个高度可扩展的平台,支持多种部署方式,包括单机、集群和云部署。它还提供了丰富的API和SDK,方便开发者在应用程序中集成使用。

liaojsgtcg的博客 1111

浅谈车联网概述-1

车联网技术目前在车企中应用广泛,车联网通过车载传感器、无线通信等技术,能够将车辆上百的传感器数据上传至云端,当前智能网联车辆可以理解为一个“大号”手机。

Hello, World! 新能源汽车智能网联工程师,分享日常工作思考。 560

SpringCloudAlibaba - Nacos (2) 集群搭建

对比 1.x 版本,2.x 做了许多优化与调整。底层Nacos Client(业务服务节点)与Nacos Server(Nacos 节点)或 Nacos Server 与 Nacos Server 间的通信方式不仅仅在支持 HTTP,新增了 gRPC 通信方式。因为使用了 gRPC 通信的方式,默认的 Nacos Server 节点启动时会占用更多的端口(摘自官网):端口与主端口的偏移量描述88480主端口,客户端、控制台及OpenAPI所使用的HTTP端口98481000。

qq_38074398的博客 716

零基础玩转STM32CubeIDE LL库:5分钟搞定串口通信(附完整代码)

本文为零基础开发者提供了一份STM32CubeIDE LL库串口通信的快速实战指南。通过CubeMX配置、LL库核心API详解,以及中断接收与环形缓冲区的完整代码实现,帮助读者在5分钟内搭建稳定可靠的串口收发框架,解决从HAL切换到LL库的常见困惑,提升嵌入式开发效率。

weixin_29159441的博客 306

图机器学习(2)——图的可视化

图结构可通过图形化方式直观呈现。节点通常用圆形表示,边则用连接线表示。然而当节点和边数量增加时,绘制清晰的图形表示可能会变得相当困难,这主要源于节点在二维坐标系中的布局问题。对于包含数百个节点的图,手动指定每个节点的坐标显然不切实际。在本节中,我们将介绍如何在不指定每个节点坐标的情况下绘制图形。我们将利用两种不同的解决方案:networkx 和 Gephi。

盼小辉丶的博客 8763

11、Nacos的认识(是阿里巴巴的产品(启动nacos))

Nacos的认识(是阿里巴巴的产品(启动nacos))第一步:在D:\Nacos\nacos\nacos\bin的路径下输入cmd进入控制台第二步:以单例模式启动(startup.cmd -m standalone) 第三步:登录nacos(默认都为nacos)!!!若是错误记得清楚浏览器缓存 具体的内容在下面的(!!!!服务管理)

分享JAVA/ Python/ Ts学习路上的一些笔记,不足之处多多见谅。 988

VTK:受约束的 Delaunay 2D用法实战

VTK:受约束的 Delaunay 2D用法实战程序输出程序完整源代码 程序输出 程序完整源代码 #include <vtkActor.h> #include <vtkCellArray.h> #include <vtkDelaunay2D.h> #include <vtkMath.h> #include <vtkMinimalStandardRandomSequence.h> #include <vtkNamedColors.h>

希望我的博客,能帮上你解决学习中工作中所遇到的问题 944

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

Nacos 致力于帮助开发者发现、配置和管理微服务。它提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。动态配置服务:动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。...

ch98000的博客 119

uniapp(全端兼容) - 实现点击输入框时完美顶起键盘,获取键盘高度动态计算顶起距离,解决软键盘弹出时输入框被覆盖问题,uniapp微信小程序/移动端h5网页/安卓苹果app(示例代码,一键复制

uniapp,支付宝微信小程序,移动端H5网页网站,软键盘弹出位置不对,软键盘挡住了输入框怎么办,获取键盘高度计算弹出距离,uniapp如何解决输入框input激活后键盘弹出遮挡问题,uniapp输入框偶尔被键盘遮挡,解决uniapp在App环境下输入框被软键盘遮挡的问题,uniapp 完美解决苹果和安卓input框遮挡兼容问题,uniapp输入框拉起软键盘时,输入框显示不全,被软键盘挡住一半,input被键盘遮挡的解决方案,软键盘遮挡输入框,uniapp软键盘顶不起来输入框,输入框没有被软键盘弹出来怎么办

✅ 精选推荐文章 1万+

MyBatis-Plus 实战:敏感字段自动加解密支持模糊查询

本文基于MyBatis-Plus框架提出了一种全链路敏感字段加密方案。通过自定义TypeHandler实现数据入库自动加密和查询自动解密,结合重写LambdaQueryWrapper处理查询条件加密,并适配多种查询方式。方案核心包括:1)AESUtil工具类提供加解密基础能力;2)EncryptTypeHandler实现字段类型转换;3)实体类通过注解配置加密字段。该方案在保证数据安全的同时,对业务代码侵入性小,支持姓名、手机号等敏感信息的全流程加密处理,满足系统开发的安全需求。

蔡定努 596

SpringCloud Alibaba Nacos配置中心快速搭建

Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录。而 Nacos 作为 Spring Cloud Alibaba 的核心组件之一,提供了两个非常重要的功能:服务注册中心(服务注册和发现)功能,和统一配置中心功能。 Nacos 简介 Nacos 致力于帮助开发者发现、配置和管理微服务。它提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 特性介绍 Nacos 具有

分享Java技术知识,共同成长进步! 468

【用unity实现100个游戏之2】复刻实现经典2d平台跳跃游戏《蔚蓝 Celeste》(附工程源码)

蔚蓝》是一款备受好评的独立游戏,由游戏开发工作室开发并由发行。这款游戏于2016年首次发布,并在玩家和评论界收获了广泛赞誉。蔚蓝以其独特的艺术风格和引人入胜的故事而著称。游戏以深海为背景,玩家将扮演一个能够探索水下世界的神秘生物。游戏通过惊人的视觉表现和动态的海洋生态系统为玩家带来了令人难忘的游戏体验。无论是广阔的水下景观还是充满生机的海洋生物,蔚蓝都让玩家感受到深海的神秘和美丽。蔚蓝在玩法上注重探索和解谜。玩家可以在海底环境中自由游动,发现隐藏的地点和秘密,与各种生物互动,并解决环境谜题以继续前进。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4167

至高心法 - SpringCloud Alibaba (二)Nacos 服务注册与配置中心

Nacos 作为服务注册中心 官方文档:https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html 基于Nacos的服务生产者 1.新建module springcloudalibaba-provider-payment9001

〆、挽风的博客 564

图神经网络实战(21)——图神经网络的可解释性

在本节中,我们探讨了应用于图神经网络 (Graph Neural Networks, GNN) 的可解释性人工智能 (Explainable Artificial Intelligence, XAI) 技术。可解释性是许多领域的关键要素,可以帮助我们建立更好的模型。我们介绍了不同的局部解释技术,并重点讨论了 GNNExplainer (基于扰动的方法),在图分类任务中应用 GNNExplainer。

盼小辉丶的博客 9536

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

spring cloud alibaba 的服务治理框架(服务注册与发现)Nacos 使用详解

spring cloudspring cloud alibaba 的服务治理框架(服务注册与发现)Nacos 使用详解 alibaba 的服务治理框架(服务注册与发现)Nacos 使用详解

爱的叹息的专栏 1174

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

黑马guli商城项目初始化-SpringCloud微服务项目初始化使用SpringCloudAlibaba快速搭建分布式系统

*** 1、如何使用Nacos作为配置中心统一管理配置* 1)、引入依赖,* 2)、创建一个bootstrap.properties。* 3)、需要给配置中心默认添加一个叫 数据集(Data Id)gulimall-coupon.properties。默认规则,应用名.properties* 4)、给 应用名.properties 添加任何配置* 5)、动态获取配置。* @RefreshScope:动态获取并刷新配置* @Value("${配置项的名}"):获取到配置。

这个人很懒什么都没有留下 947

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

微服务世界之Nacos初见(一)

Nacos 1、概要   Dubbo     服务的注册和发现/rpc通信/负载均衡/限流/熔断/降级   Spring Cloud alibaba     服务注册发现中间件       zookeeper/eureka/consule/etcd/nacos     配置中心       开关配置       线程池相关配置       限流配置   ...

weixin_30768175的博客 241

分布式组件SpringCloud Alibaba搭建

分布式组件SpringCloud Alibaba搭建 1.SpringCloud Alibaba简介 1)简介 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。该项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。 2

code_agent的博客 1116

手把手教你搭建SpringCloudAlibaba项目

为什么会出现SpringCloudAlibaba? 由于Springcloud的NetFlix项目的全套的服务进入了停止维护的模式,也就是Springcloud团队不会再向模块添加新功能,不在开发新的组件和功能了。

weixin_38007185的博客 2万+

【Spring Cloud】学习笔记之Nacos

Nacos (Dynamic Naming and Configuration Service) 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。核心特性:服务发现与健康检查:支持 DNS 和 RPC 服务发现。动态配置管理:动态修改配置,无需重启服务。动态 DNS 服务:支持权重路由。服务及其元数据管理:管理微服务架构。,一站式解决了微服务架构中的两大难题。

qq_53675540的博客 718

30分钟快速搭建 Spring Cloud Alibaba 微服务实战(一)

本文提供了一个5分钟快速搭建Spring Cloud Alibaba微服务的实战指南。主要内容包括:1)环境准备(JDK、Maven、Nacos单机版安装);2)项目结构(网关、服务提供者、消费者3个模块);3)父工程pom.xml配置(统一版本管理);4)服务提供者模块实现(注册到Nacos并暴露接口)。通过简洁的步骤和示例代码,帮助开发者快速搭建可运行的微服务基础架构,包含Nacos服务注册中心、服务提供者、消费者和网关等核心组件。

echo的博客 794

SpringCloud微服务脚手架:快速搭建企业级开发环境

微服务架构通过将系统拆分为独立部署的服务单元,显著提升了分布式系统的可扩展性和开发效率。其核心原理包括服务注册发现、API网关、配置中心等组件协同工作,其中SpringCloud作为Java生态的主流框架,提供了完整的微服务解决方案实现。在实际工程实践中,从零搭建微服务基础架构往往耗费大量时间,而基于SpringCloud Alibaba技术栈的脚手架工具通过预集成Nacos、Sentinel等组件,能够将环境搭建时间从数周缩短到数小时。这种开箱即用的方案特别适合快速原型验证、企业标准化项目启动等场景,开发

weixin_31766003的博客 345

【Spring Cloud Alibaba】基于Spring Boot 3.x 搭建教程

本教程主要介绍如何基于搭建一个微服务项目,适合熟练使用框架,并且有进一步尝试新版本及学习搭建微服务项目的同学。致力于提供微服务开发的一站式解决方案。该项目包含开发分布式应用微服务的必需组件,方便开发者通过编程模型轻松使用这些组件来开发分布式应用服务。依托,我们只需要添加一些注解和少量配置,就可以将应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。此外,阿里云同时还提供了Spring Cloud Alibaba 企业版。

2611_94925671的博客 438
上一篇: 整理了整整1个月Java面试手册,上传到Git上目前star数达到了30K+
下一篇: JVM之线程资源标记ResourceMark
程序员职业指南
博客等级 码龄4年 2136粉丝 960原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值