Spring Boot 3.x 集成 Eureka Server/Client的详细过程

 更新时间:2024年09月30日 10:38:50   作者:Kenny.志  
随着SpringBoot 3.x版本的开发尝试,本文记录了在集成Eureka Server/Client时所遇到的问题和解决方案,文中详细介绍了搭建服务、配置文件和测试步骤,感兴趣的朋友跟随小编一起看看吧

一、前言

基于 Spring Boot 3.x 版本开发,因为 Spring Boot 3.x 暂时没有正式发布,所以很少有 Spring Boot 3.x 开发的项目,自己也很想了踩踩坑,看看 Spring Boot 3.x 与 2.x 有什么区别。自己与记录一下在 Spring Boot 3.x 过程中遇到一下问题

二、搭建服务

chain 服务

pom.xml 文件,我这里使用的是 Spring Boot 版本 3.3.4,Spring Cloud 版本是 2023.0.3

    <!-- 依赖版本管理,用于管理子模块的依赖版本 -->
    <properties>
        <!-- 项目编码 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- java编译版本 -->
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <!-- java版本 -->
        <java.version>17</java.version>
        <!-- chain 版本 -->
        <chain.version>1.0.0</chain.version>
        <!--SpringCloud版本-->
        <spring-cloud.version>2023.0.3</spring-cloud.version>
        <!-- spring-boot版本 -->
        <spring.boot.version>3.3.4</spring.boot.version>
        <!-- spring framework版本 -->
        <spring.framework.version>6.1.13</spring.framework.version>
    </properties>
<!-- 依赖声明 -->
    <dependencyManagement>
        <dependencies>
            <!--依赖管理,用于管理spring-cloud的依赖 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- spring framework版本 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-framework-bom</artifactId>
                <version>${spring.framework.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- spring-boot版本2.5.15更换为3.2.4 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>3.3.4</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

子服务 eureka-server

pom.xml 文件

    <dependencies>
        <!-- eureka server -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
        <!-- spring boot starter test -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

EurekaServerAPP

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApp {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApp.class);
    }
}

application.yml

server:
  # 监听端口
  port: 10001
spring:
  application:
    # 服务名称
    name: eureka-server
eureka:
  instance:
    # eureka 服务实例的主机名称
    hostname: ${spring.application.name}
  client:
    # 表示是否将自己注册进EurekaServer默认为true
    register-with-eureka: false
    # 表示是否从EurekaServer抓取已有的注册信息,默认为true
    fetch-registry: false
    # EurekaServer服务提供地址
    service-url:
      # 单机版
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

上面三个文件配置完毕之后,可以启动一下 EurekaServerApp 看一下,是否有配置问题,要是在控制台出现以下内容,就代表 eureka-server 配置完毕了
服务

到这里,可以打开浏览器访问 eureka-server 管理页面看看,http://localhost:10001 

到此为止,eureka 的服务端就已经搭建完毕

子服务 system-server

pom.xml

<dependencies>
        <!-- eureka client -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!-- spring boot web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- spring boot starter test -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- spring boot devtools -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
    </dependencies>

SystemServerApp

@SpringBootApplication
@EnableDiscoveryClient
public class SystemServerApp {
    public static void main(String[] args) {
        SpringApplication.run(SystemServerApp.class);
    }
}

application.yml

server:
  # 监听端口
  port: 10010
  servlet:
    # 应用的访问路径
    context-path: /
spring:
  application:
    # 服务名称
    name: system-service
eureka:
  instance:
    # eureka 服务实例的主机名称
    hostname: ${spring.application.name}
    # 服务实例的注册ID
    #lease-instance-id: ${spring.application.name}:${server.port}
    # 服务实例的注册时间间隔,单位为秒
    #lease-renewal-interval-in-seconds: 5
  # 是否开启安全认证
  #security:
    #basic:
      #enabled: false
  client:
    # 表示是否将自己注册进EurekaServer默认为true
    register-with-eureka: true
    # 表示是否从EurekaServer抓取已有的注册信息,默认为true
    # 单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    fetch-registry: true
    # EurekaServer服务提供地址
    service-url:
      # 单机版
      defaultZone: http://localhost:10001/eureka/

同样启动一下 system-server 服务测试

也可以看一下在 eureka-server 服务中是否有 system-server 注册信息

也可以去到 eureka-server 管理页面,看看 system-server 是否注册成功

搭建 eureka server/client 相对比较简单,在这个过程中主要是要找对 Spring Boot 与 Spring Cloud 的版本即可,eureka 的配置项,还是老旧的那一套,没有太大的变化

到此这篇关于Spring Boot 3.x 集成 Eureka Server/Client的文章就介绍到这了,更多相关Spring Boot 集成 Eureka Server/Client内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java Stream reduce()使用指南

    Java Stream reduce()使用指南

    reduce()是Java Stream API中的一个重要终端操作,用于将流中的元素通过二元运算符结合起来,生成单一结果,它主要用于计算总和、乘积、最大值、最小值和字符串连接等,本文给大家介绍Java Stream reduce(),感兴趣的朋友一起看看吧
    2024-10-10
  • springsecurity记住我登录时访问无权限接口跳转登录界面的处理方案

    springsecurity记住我登录时访问无权限接口跳转登录界面的处理方案

    这篇文章主要介绍了springsecurity记住我登录时访问无权限接口跳转登录界面的处理方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-02-02
  • java.lang.IllegalStateException:方法有太多主体参数问题

    java.lang.IllegalStateException:方法有太多主体参数问题

    这篇文章主要介绍了java.lang.IllegalStateException:方法有太多主体参数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java 抽象类特点总结

    Java 抽象类特点总结

    在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类
    2021-10-10
  • Java 通过mave命令下载jar包的示例代码

    Java 通过mave命令下载jar包的示例代码

    这篇文章主要介绍了Java 通过mave命令下载jar的示例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Java常用类之System类的使用指南

    Java常用类之System类的使用指南

    System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。本文将通过示例为大家详细讲讲System类的使用,需要的可以参考一下
    2022-07-07
  • mybatis中string和date的转换方式

    mybatis中string和date的转换方式

    这篇文章主要介绍了mybatis中string和date的转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java快速排序与归并排序及基数排序图解示例

    Java快速排序与归并排序及基数排序图解示例

    快速排序是基于二分的思想,对冒泡排序的一种改进。主要思想是确立一个基数,将小于基数的数放到基数左边,大于基数的数字放到基数的右边,然后在对这两部分进一步排序,从而实现对数组的排序
    2022-09-09
  • java数据类型与变量的安全性介绍

    java数据类型与变量的安全性介绍

    这篇文章主要介绍了java数据类型与变量的安全性介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • 如何利用postman完成JSON串的发送功能(springboot)

    如何利用postman完成JSON串的发送功能(springboot)

    这篇文章主要介绍了如何利用postman完成JSON串的发送功能(springboot),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论