当前位置: 代码网 > it编程>编程语言>Java > Spring Boot 3.x 集成 Eureka Server/Client的详细过程

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

2024年09月30日 Java 我要评论
一、前言基于 spring boot 3.x 版本开发,因为 spring boot 3.x 暂时没有正式发布,所以很少有 spring boot 3.x 开发的项目,自己也很想了踩踩坑,看看 spr

一、前言

基于 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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

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

发表评论

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