42. 从零开始学springboot整合alibaba-nacos做注册/配置中心

springboot整合nacos(配置中心与服务注册,微服务整合之间的版本关系) 阅读详情

前言

随着 服务化 的普及, 你会发现越来越多的公司开始服务化的调整, 那么有哪些变化呢?

你会发现, 原来一个接口就实现了一套逻辑功能, 而服务化后, 服务拆分的维度更细了, 实现一个功能, 可能需要同时协同很多的服务接口!

服务的拆分维度更细当然是有好处的, 服务间耦合度更低, 复用性更强, 但是随之而来的是服务间配置及管理成本的上升!

所以, 为了解决这些服务治理成本, Nacos应运而生.

Nacos 是阿里巴巴的开源项目,其核心定位是 动态服务发现、配置和服务管理平台

简而言之 nacos两个功能:

  • 服务发现及管理
  • 配置的管理

需要注意的是, Nacos本身是个独立的服务, 可以单独部署!

下面, 我们来实践下Nacos的部署,以及和Springboot的配合~

Docker 安装Nacos

下载nacos镜像

docker pull nacos/nacos-server

查看镜像

docker images

以单机模式运行nacos

# 登录密码默认nacos/nacos
# standalone代表着单机模式运行,非集群模式
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server

访问Nacos

http://localhost:8848/nacos

image.png

配置Nacos

访问地址:http://localhost:8848/nacos
默认账号: nacos
默认密码: nacos

进入配置页面

创建一个新命名空间(你可以理解为一个组)

默认有个public公共空间, 我新建了sb-alibaba-nacos空间
image.png

创建完成后我们就可以直接开始服务的配置了

把服务的相关配置加入此即可.

image.png

我们新增sb-alibaba-nacos服务的两套环境的配置, dev 和 test

dev (服务端口: 8081):
image.png

test(服务端口: 8082):
image.png

再新建一个通用的配置(实际情况就是很多服务,大部分的配置是共用的, 少部分是自定义的,
nacos支持这样的配置) common
image.png

点击发布即可.

Springboot 整合 alibaba nacos

我们引入依赖

    <properties>
        <spring-cloud.version>Hoxton.SR4</spring-cloud.version>
        <spring-cloud-alibaba-version>2.2.1.RELEASE</spring-cloud-alibaba-version>
    </properties>

<dependencyManagement>
        <dependencies>
            <!--SpringCloud依赖 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--SpringCloud Alibaba依赖 -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba-version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>


    <dependencies>
        <!--Nacos服务注册/发现依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!--Nacos配置中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>

这里特别强调下, 必须要引入和springboot匹配版本的springcloud依赖哦, 否则会启动报错

org.springframework.beans.factory.BeanCreationException:Error creating bean with name ‘nacosAutoServiceRegistration’ defined in classpath resource…

大致的版本对应关系如下
image.png

更详细的请去https://start.spring.io/actuator/info
查询!

这里, 咸鱼为了使用新特性, 所以spring-boot使用2.2.6.RELEASE版本, 所以对应的spring-cloud版本为Hoxton.SR4, spring-cloud-alibaba版本为2.2.1.RELEASE!

注意, 低版本的springboot会出现无法注册分组功能
也就是项目启动后, 当你在项目的alibaba nacos配置文件里填写了分组名称时,

image.png

在nacos 服务管理页面会发现分组名称并没注册上(也就是显示为default, 并不是我们指定的dev)
image.png

配置springboot

要想springboot项目向nacos注册以及从nacos读取配置,我们就必须在项目中加上简单的配置

首先在启动类上加上注解@EnableDiscoveryClient
image.png

其次, 新建一个项目的配置文件bootstrap.properties (nacos的配置就在此, springboot会优先读取bootstrap.properties配置, 其次才是application.properties)

image.png

# 服务名, 会在nacos上显示服务的名称
spring.application.name=sb-alibaba-nacos

# 指定生效的配置为 dev
spring.profiles.active=dev

##################### Nacos基本配置
###### 1、注册中心配置
# Nacos注册中心地址, 也就是nacos所在 ip:端口
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

# 配置注册中心namespace id, 我们nacos创建空间时生成的唯一id
spring.cloud.nacos.discovery.namespace=070cc848-3106-49eb-a3be-3d5994701d96

# 指定注册中心namespace的group, 这个group可以随意指定, 会显示在nacos上
spring.cloud.nacos.discovery.group=dev


##### 2、配置中心配置
# Nacos配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

# 指定读取的配置文件后缀名,  我们nacos上新建配置时,配置的后缀格式
spring.cloud.nacos.config.file-extension=properties

# 指定命名空间, 必须指定id, 不能指定名称
spring.cloud.nacos.config.namespace=070cc848-3106-49eb-a3be-3d5994701d96

# 指定Group
spring.cloud.nacos.config.group = sb-alibaba-nacos

#### 相同namespace,不同group下的服务共享配置
## common配置
spring.cloud.nacos.config.extension-configs[0].group=common
spring.cloud.nacos.config.extension-configs[0].data-id=common.properties
spring.cloud.nacos.config.extension-configs[0].refresh=true

### 日志配置
logging.level.com.alibaba.nacos.client.config=warn
spring.main.allow-bean-definition-overriding=true

最后,我们启动springboot项目即可~

说明

注意, 从nacos读取配置, 启动业务服务后, 若修改了配置, 业务服务默认不会实时生效的!
如果, 个别配置项你需要实时的生效, 也就是无需重启业务服务就能生效, 请在项目中对应读取配置值的类上加上注解

@RefreshScope

项目地址

https://github.com/MrCoderStack/SpringBootDemo/tree/master/sb-alibaba-nacos

请关注我的订阅号

订阅号.png

SpringBoot2.X整合Nacos做配置中心(Spring Cloud Alibaba) 配置中心知名的有`Apllo`,`Spring Cloud Config`。`application.yml`里边配置的一些系统变量数据, 通常会再`Controller`里边用`@Value` 取出使用, 但是你要是想改变他,就要重新改代码,打包,部署,十分麻烦,我们需要让配置文件的值变得动起来,`Nacos`也采用了`Spring Cloud`原生注解 `@RefreshScope` 实现配置自动更新, 阅读详情

相关推荐

nacos+Spring boot+dubbo用nacos做为注册中心和配置中心

什么是nacos: acos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、 动态配置服务(可以做配置中心)、动态 DNS 服务。 官方介绍是这样的: Nacos 致力于帮助您发现、配置和管理微服务。 Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施 官方网址:

cai750415222的博客 7565

Spring Boot 中如何使用 Spring Cloud Alibaba 实现微服务治理

本文介绍了如何在 Spring Boot 中使用 Spring Cloud Alibaba 实现微服务治理,包括服务注册与发现、配置中心、流量管理、熔断降级等功能。Spring Cloud Alibaba 提供了一套完整的微服务治理解决方案,可以帮助我们有效地管理和保护微服务架构,提高系统的稳定性和可用性。

it_xushixiong的博客 2152

Springboot整合 Spring Cloud Alibaba Nacos注册中心

Springboot整合Spring Cloud Alibaba Nacos

Java_Scholar0的博客 1167

从入门到精通:Spring Boot Alibaba学习网站助你构建高效微服务

Spring Boot Alibaba是一个基于Spring Boot的微服务开发框架,由阿里巴巴开源,旨在为分布式应用开发提供一站式解决方案。 Spring Boot Alibaba集成了阿里巴巴的微服务实践经验和组件,它是在Spring Cloud项目中孵化的,并有可能成为Spring Cloud第二代标准的实现。这个框架在业界得到了广泛的应用,并且已经有了许多成功的案例。具体来说,它的优势包括: 应用场景广泛:适用于大型复杂的系统,如电商系统;高并发系统,如大型门户网站和秒杀系统.

qq_45746668的博客 1166

SpringCloud 整合注册中心,配置中心 Nacos (九)

前言 其实也就是相当于之前用的 eureka 和 config (或者阿波罗)。 本篇提供给初学者,最快速最简单地去使用上nacos 。 正文 1.首先以最快的速度 ,本地(windows环境) ,把我们的nacos 服务 跑起来。 网盘拿nacos 压缩包 : nacos zip百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1vCbDPsGYZ

默默不代表沉默 4321

Coze智能体网页集成实战:从零搭建免登录AI助手

本文详细介绍了如何利用Coze Chat SDK从零开始为网站集成免登录AI助手。通过获取访问令牌和智能体ID,仅需几行JavaScript代码即可将功能完整的对话窗口嵌入网页,实现开箱即用的智能交互。文章重点讲解了核心部署步骤、会话隔离方案以及UI深度定制方法,帮助开发者快速打造贴合品牌、提升用户体验的网页AI助手。

gold8的专栏 555

膜拜!Alibaba 最新发布 SprinBoot:进阶原理实战与面试题分析指南

第 1 章引入 Spring BootSpring Boot 是一款集成性的开源框架,内部整合了很多第三方组件和框架。这些组件和框架应用如此之广泛,以至于大家反而对如何更好地使用 Spring Boot 自身的功能特性并不是很重视。事实上,Spring Boot 自身的功能特性同样非常丰富,而且在使用上也存在一些最佳实践。Spring 基础框架。

m0_57042151的博客 315

RS485/CAN总线防护电路设计:TVS选型与ESD防护实战解析

本文深入解析了RS485与CAN总线防护电路设计中的TVS选型与ESD防护实战技巧。针对工业现场常见的静电放电、浪涌等干扰,文章详细阐述了TVS管关键参数的选择、多级防护体系的构建,并特别强调了在隔离电路设计中地回路处理的重要性,帮助工程师设计出更可靠的通信接口。

metaverse5vr的博客 384

一 . 微服务之springbootalibaba版本控制

springbootalibaba版本说明 我使用的springCloud Alibaba Version 是2.2.6RELEASE <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati

qq_40250122的博客 2228

LangGraph的容错机制:从节点失败到图级回滚

核心概念铺垫:讲解LLM应用容错与事务性的核心概念(幂等性、重试策略、降级策略、快照、回滚、原子性、一致性、隔离性、持久性、最终一致性),对比LangGraph容错机制与传统数据库ACID事务、Apache Airflow/Kubernetes Workflow/Kubeflow Pipelines容错机制的异同;LangGraph容错机制的演进历史:用markdown表格梳理LangGraph从0.0.1到1.5.0(截止202X年X月)的容错机制发展历程;节点级别的容错:重试与降级。

AI Python 编程之道的博客 171

SAP ABAP 实用小技巧合集 (一)

本合集包含了笔者从事 ABAP 开发 17 年以来积累的小技巧。持续更新。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3213

限量!Alibaba首发“SpringBoot实战笔记”,差距不是一点点!

JavaEE仅仅使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题。 Spring Boot解决的问题: Spring Boot使编码变简单 Spring Boot使配置变简单 Spring Boot使部署变简单 Spring Boot使监控变简单 Spring的不足 Spring Boot主要特性: 使用Spring Boot只需要很少的配置,大部分的时候我们直接使用默认的配置即可; 项目快速搭建,可以无需配置的自动

诗与远方的博客 3063

〖Python接口自动化测试实战篇④〗- 接口自动化测试详解

[接口测试] 是相对来说和我们的功能测试 [最为接近的一种自动化测试手段] ,所以我们首先来学习接口测试的内容。 实现接口的开发与接口的测试,在我们的思维上、想法上、面向的态度上都是不一样的。所以大家要有一个思维上的转换,要认识了解一下 接口测试到底是做什么的、它的功能、意义在哪里。...

易编橙 · 终身成长社群,相遇已是上上签! 5万+

springboot整合nacos

springboot整合nacos

weixin_43903166的博客 3万+

2025B卷最新华为OD机试持续收录中 - 真题题库清单,按考点划分(Python / JS / C++ / JAVA / C语言)

2025B卷最新华为OD机试持续收录中 - 真题题库清单,按考点划分(Python / JS / C++ / JAVA / C语言)

算法大师! 3056

BUG调试案例六:RK3568+国产YT8531网络PING调试案例

这次调试过程让我对后续类似问题的应对更加有信心。如果芯片在其他项目中已被验证可用,那么在我们的设计中原则上也应该能够正常工作。如果出现异常,就必须坚持追根溯源,找出具体原因和根本问题。每一次问题的解决,都是一次深入理解系统和提升能力的机会 —— 在不断探索和学习中,也在持续成长。

案例文章,高速信号 2326

Nacos注册、配置中心整合Dubbo远程调用

Nacos注册、配置中心整合Dubbo远程调用背景开发环境搭建父项目建立子模块 背景 Nacos作为阿里巴巴技术栈中的一员,目前在应用得也是比较广泛。作为一个后起之秀,它相较于老一辈得Eureka注册中心也有很多优势。Dubbo同样也是阿里巴巴技术栈的成员,那么它和Nacos相结合无疑是非常不错的选择。最近看了很多帖子,要么是很老的,要么就是参考价值不大,索性,我自己写一个,Nacos和Dubbo整合使用的坑还是比较多。 开发环境 类别 名称及版本 开发工具 IntelliJ IDEA 20

daiyi666的博客 7069

财务数字化——解读美的战略规划之财务组织体系建设【附全文阅读】

本文提出适用于集团企业的财务管控方案,面向财务负责人、HR及战略规划人员。方案整合四种管控模式,结合500强案例,构建"职能定位-架构设计-权责划分-人才发展"体系,涵盖财务五大模块。通过明确总部与事业部权责边界,提供组织架构等实操框架,旨在平衡财务管控与业务支持,提升效率与风控能力,满足集团财务体系规范化建设需求。

cdfunlove的博客 663

Spring Cloud Alibaba Nacos 搭建 及整合spring boot 作为注册中心和配置中心

转载请表明出处 谢谢 Spring Cloud Alibaba Nacos安装Nacos环境下载源码或者安装包配置集群配置文件配置 MySQL 数据库启动服务器 安装Nacos Nacos官网 环境 Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用: 64 bit OS,支持 Linux/Unix...

SophiaLeo的博客 2705

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

springboot整合nacos作为配置中心和注册中心

springboot整合nacos作为配置中心和注册中心 springboot整合nacos作为注册中心和配置中心 1.pom文件添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mav

xp_lx12的博客 1489

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SpringBoot与SpringCloud-Alibaba整合(01-nacos)

分析springboot与nacos的整合,其中包括注册中心与配置中心的分析。springboot版本:2.4.13,spring-cloud-alibaba:2021.1服务注册的功能是将我们的服务是注册到nacos上,以便其他服务可以使用该服务。服务定时主动向nacos发送心跳请求,维护服务的健康状态。同一个nacos的注册中心中注册了很多服务,当前服务是如何发现这些服务的。

weixin_39024325的博客 2462

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Spring Cloud整合Nacos作为注册配置中心【最佳实践】

Nacos 融合 Spring Cloud,成为注册中心和配置中心【最佳实践】,附:实现Nacos属性值自动刷新的三种方式

搬砖工 1291

SpringCloud Alibaba —— Nacos 配置中心

文章目录基础配置新建一个模块POMYMLbootstrap.ymlapplication.yml主启动类业务类在 Nacos 中添加配置信息Nacos 中的匹配规则测试自带刷新功能     前面使用 SpringCloud Config 实现配置中心 的时候是比较麻烦的,各种配置和依赖很复杂的     SpringCloud Alibaba 退出的 Nacos 除了可以实现注册中心以外,还可以实现配置中心,而且实现非常简单,下面就用 Nacos 实现配置中心 基础配置 新建一个模块 目录结构如下: PO

Woo_home的博客 4763

sprongboot整合Nacos [注册中心和配置中心]

SpringCloud Alibaba之Nacos 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 说明: 一:SpringCloud Alibaba - Nacos:注册中心(服务发现/注册) 二:SpringCloud Alibaba - Nacos:配置中心(动态配置管理) 文章目录SpringCloud Alibaba之Nacos前言一、版本说明二、SpringCloud Alibaba-Nacos[作为注册中心]0.Nacos 说明1.公共微服务引入版本控制和依赖2.下载Nac

suqinyi的博客 1249

springcloud alibaba整合nacos服务注册中心和ribbon服务调用

springcloud alibaba整合nacos服务注册中心和ribbon服务调用nacos安装nacos的作用spring cloud整合nacos添加maven依赖启动类修改添加配置整合ribbon创建负载均衡的restTemplate测试结果 nacos安装 从官网上(https://nacos.io/zh-cn/index.html)下载最新版本的nacos的tar.gz包,上传到自己虚拟机或是云主机上指定目录下,解压启动即可,因为是作为学习之用,所以这是部署单节点的nacos服务 启动命令:.

weixin_41521925的博客 2832

Nacos:搭建高效注册中心与配置中心的解决方案

Nacos是一个平台产品,主要提供注册中心和配置中心。

程序吟游的博客 5135
上一篇: 12. 面试官不问, 你也不得不知道的锁知识!
下一篇: 13. 大佬问我: notify()会立刻释放锁么?
码哥说
博客等级 码龄8年 5645粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码哥说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值