当前位置: 代码网 > it编程>编程语言>Java > SpringBoot3整合Nacos V2.3.2的详细过程

SpringBoot3整合Nacos V2.3.2的详细过程

2024年11月25日 Java 我要评论
随着微服务架构的广泛应用,服务注册与发现的需求变得越来越重要。nacos(dynamic naming and configuration service 首字母)作为一个开源的、动态的服务发现与配置

随着微服务架构的广泛应用,服务注册与发现的需求变得越来越重要。nacos(dynamic naming and configuration service 首字母)作为一个开源的、动态的服务发现与配置管理平台,已成为许多开发者的首选工具。spring boot 与 nacos 的整合能够帮助开发者快速实现服务注册、配置管理以及动态控制等功能。

本文将详细介绍如何将 spring boot 3.2.xnacos 2.3.2 进行整合,包括功能介绍、版本依赖、整合过程中的细节及效果演示。

1. nacos 简介与功能

nacos 是一个易于使用的、支持多种服务发现和配置管理的开源项目。它提供了如下核心功能:

  • 服务发现与健康检查:支持通过 http、dns 和 grpc 协议进行服务注册与发现,同时可以对注册的服务进行健康检查。
  • 动态配置管理:提供配置管理功能,允许开发者在不重启服务的情况下修改应用配置,并实时生效。
  • 动态 dns 服务:支持通过 dns 查询服务实例的地址,实现更加灵活的服务发现。
  • 分布式配置管理:能够为不同的环境、应用提供差异化的配置管理。

版本说明

nacos 1.x 已经停止功能维护,请尽快升级到 2.x 版本。并且 nacos 版本依赖 springboot、spring cloud 的版本,对于刚刚升级到 springboot3 的小伙伴来说,会遇到很多莫名其妙的问题,大多数都是由于版本依赖造成的问题,建议直接到官网找推荐的版本组合,springcloud alibaba与springboot版本对应。

亲测 springboot 3.2.x + nacos 2.3.2 + springcloud 2023.0.1.0 组合可用,下面介绍也将基于此版本组合讲解。

2. spring boot 3.2.x 与 nacos 2.3.2 整合的步骤

2.1 运行nacos服务

多种运行方式见官网:https://nacos.io/docs/latest/quickstart/quick-start/,本地直接使用docker安装即可运行。

nacos 2.x 除了 8848 端口以为还需要占用以下端口,如果云服务器部署需要放行端口号。

兼容性说明见:https://nacos.io/docs/v2/upgrading/version2-compatibility/

运行nacos服务后,还需设置密码,创建命名空间,新建配置等。

2.2 添加依赖

首先,你需要在 spring boot 项目中添加 nacos 的相关依赖。nacos 提供了一个官方的 spring cloud alibaba 依赖包来支持 spring boot 项目的集成。

修改 pom.xml 文件,添加如下依赖:

<dependencies>
    <!-- spring boot web依赖 -->
    <dependency>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-web</artifactid>
    </dependency>
    <!-- spring boot与nacos整合的核心依赖 -->
    <dependency>
        <groupid>com.alibaba.cloud</groupid>
        <artifactid>spring-cloud-starter-alibaba-nacos-discovery</artifactid>
        <version>2023.0.1.0</version> <!-- 与spring boot 3.2.x兼容 -->
    </dependency>
    <!-- 配置管理依赖,如果你需要配置管理功能 -->
    <dependency>
        <groupid>com.alibaba.cloud</groupid>
        <artifactid>spring-cloud-starter-alibaba-nacos-config</artifactid>
        <version>2023.0.1.0</version>
    </dependency>
    <!--提供了引导配置的支持,允许应用程序在启动时从外部配置中心(如 nacos、consul、config server 等)加载配置。-->
    <dependency>
        <groupid>org.springframework.cloud</groupid>
        <artifactid>spring-cloud-starter-bootstrap</artifactid>
        <version>4.1.4</version>
    </dependency>
</dependencies>

注意:这里的 spring-cloud-starter-alibaba-nacos-discoveryspring-cloud-starter-alibaba-nacos-config 是 spring cloud alibaba 相关的 starter。2023.0.1.0 版本与 spring boot 3.2.x 兼容。

2.3 配置 nacos 连接

bootstrap.propertiesbootstrap.yml 文件中,配置 nacos 服务的连接信息。配置如下:

为什么要bootstrap.yml?用在应用程序启动的早期阶段,通过 bootstrap.yml 或 bootstrap.properties 文件加载配置,这些配置可以在主应用配置之前生效。spring-cloud-starter-bootstrap 提供了引导配置的支持。

spring:
  application:
    name: spring-boot3-14-nacos
  profiles:
    active: local # 切换环境
  cloud:
    nacos:
      config:
        server-addr: 1.94.x.x:8848
        namespace: c77472dd-768c-42b0-8755-b6d87af491cf # 填命名空间id
        file-extension: yaml
        group: default_group
        refresh-enabled: true
        # 如果开启认证的话需要用户名和密码
        username: nacosu
        password: nacosu
      discovery:
        server-addr: 1.94.26.81:8848
        namespace: c77472dd-768c-42b0-8755-b6d87af491cf
        # 如果开启认证的话需要用户名和密码
        username: nacosu
        password: nacosu

配置项说明

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com