1、Spring Boot 3.x 集成 Eureka Server/Client

news2024/11/20 21:32:14

一、前言

基于 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 的配置项,还是老旧的那一套,没有太大的变化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安全类面试题-填空题

填空题 1、Linux下&#xff0c;复制/root/soure 到当前目录的命令是 cp -r /root/soure ./ 2、Linux下&#xff0c;解压缩bz2格式文件的命令是 bzip2 -d FileName 3、Linux下&#xff0c;查看网络连接状态的命令是 netstat 4、数据库触发器能监控的触发事件有&#xff1a; upda…

操作系统_名词_文件下载_反弹SHELL_防火墙绕过

操作系统 操作系统-用途&命令&权限&用户&防火墙 1、个人计算机&服务器用机 2、windows&Linux常见命令 3、文件权限&服务权限&用户权限 4、系统用户&用户组&服务用户等分类 5、自带防火墙出站&入站规则策略协议 实用案例1&#x…

如何在 Amazon EMR 中运行 Flink CDC Pipeline Connector

如何在Amazon EMR 中运行 Flink CDC Pipeline Connector 由于 Amazon EMR 最新的 Flink 版本中没有原生支持 Flink CDC&#xff0c;因此这里介绍一种通过 FlinkCDC Pipeline Connector 同步数据的例子(MySQL->Kafka) 环境准备 启动一个 Amazon EMR 集群 启动成功之后&#…

聚势启新 智向未来 | 重庆华阳通用科技有限公司揭牌成立

助推两江新区汽车产业高质量发展 (以下文字内容转载自两江新区网&#xff09; 9月26日&#xff0c;重庆华阳通用科技有限公司&#xff08;华阳通用重庆子公司&#xff09;在两江新区揭牌成立&#xff0c;将致力于智能座舱、智能驾驶两大领域&#xff0c;不断加大技术研发投入…

「系列投研|01」建立自己的移动比特币银行——赛道概况

ZJUBCA 09/28/2024 01&#xff5c;BTCfi赛道概况 BTCFi&#xff1a;建立自己的移动比特币银行 ——从Lending到Staking的全面解读 作者&#xff1a; Freya & Knight& Ausdin from ZJUBCA Elaine & Youyu from Satoshi Lab 关键词 BTCFi&#xff0c;稳定币&#xff…

DePIN 代表项目 CESS 受邀出席国会山活动,向议员展示创新 DePIN 技术

我们非常激动地宣布&#xff0c;CESS 已受邀参加由美国区块链协会主办的国会山活动&#xff0c;将于当地时间 2024 年 10 月 2 日向一众国会议员展示创新的 DePIN 技术&#xff01;本次关于去中心化物理基础设施网络&#xff08;DePIN&#xff09;的重要会议中&#xff0c;CESS…

windows下 Winobj.exe工具使用说明c++

1、winobj.exe工具下载地址 WinObj - Sysinternals | Microsoft Learn 2、接下来用winobj.exe查看全局互斥&#xff0c;先写一个小例子 #include <iostream> #include <stdlib.h> #include <tchar.h> #include <string> #include <windows.h>…

别再误用useMemo了!这才是最佳实践的正确打开方式

useMemo是react用作性能优化的一个hook&#xff0c;但有一个现象&#xff0c;不知道的人一次不用&#xff0c;知道的人随时随地到处都用。本文就带你真正搞懂什么情况下可以使用useMemo。 useMemo 是一个 React Hook&#xff0c;它在每次重新渲染的时候能够缓存计算的结果 useM…

【py】字符串切片

下面是一个简单的Python脚本&#xff0c;它读取输入的学号和姓名&#xff0c;然后按照要求拆分并输出&#xff1a; # 从键盘输入学号和姓名 input_str input("请输入学号和姓名&#xff1a;") # 学号和姓名的长度&#xff0c;可以根据实际情况调整 grade_length …

Linux下V4L2实时显示摄像头捕捉画面(完整QT+C++代码)

目录 一、V4L2 1、简介 2、编程与应用 二、示例演示 1、例子说明&#xff1a; 2、关键的代码演示 3、完整的例子的代码 一、V4L2 1、简介 V4L2&#xff0c;即Video for Linux Two&#xff0c;是Linux下关于视频设备的内核驱动框架&#xff0c;为驱动和应用程序提供了一…

前端vue-form表单的验证

form表单验证的完整步骤

Nginx反向代理配置支持websocket

一、官方文档 WebSocket proxying 为了将客户端和服务器之间的连接从HTTP/1.1转换为WebSocket&#xff0c;使用了HTTP/1.1中可用的协议切换机制&#xff08;RFC 2616: Hypertext Transfer Protocol – HTTP/1.1&#xff09;。 然而&#xff0c;这里有一个微妙之处:由于“升级”…

TLS详解

什么是TLS TLS(Transport Layer Security)传输层安全性协议 &#xff0c;它的前身是SSL(Secure Sockets Layer)安全套接层&#xff0c;是一个被应用程序用来在网络中安全的通讯协议&#xff0c; 防止电子邮件、网页、消息以及其他协议被篡改或是窃听。是用来替代SSL的&#xf…

ONFI 5.1:定义、缩写语和约定

address 该地址由一个行地址和一个列地址组成。行地址标识要访问的page、block和LUN。列地址标识要访问的page中的byte或word。 asynchronous 异步是指数据用WE_n信号进行写&#xff0c;RE_n信号进行读。 block 由多个page组成&#xff0c;是擦除操作的最小可寻址单元。 column…

稀土阻燃协效剂-磷氮系的应用

稀土阻燃协效剂凭借独特的稀土4f电子层结构,在聚合物材料燃烧时可催化酯化成炭,迅速在高分子表面形成致密连续的碳层,隔绝聚合物材料内部的可燃性气体与氧气的接触,从而达到阻燃抑烟的效果,且燃烧时不产生有毒有害气体。 金士镧系列稀土阻燃剂是一种基于稀土协效阻燃的复合阻燃…

Windows11如何关闭“显示更多选项”,直接展示所有选项

在windows11系统中&#xff0c;右击&#xff0c;会有“显示更多选项”&#xff0c;每次都要点一下这个按钮&#xff0c;才能看到所有的选项&#xff0c;太麻烦&#xff0c;那么有什么办法去掉呢&#xff1f; 1、以管理员的方式打开命令提示符 winR&#xff1b;cmd回车 执行命…

在Ubuntu和centos系统安装JDK教程

目录 1. 先使用apt 查看有哪些软件包2.使用apt安装软件包3.确认是否安装4.centos安装jdk Linux会把一些软件包&#xff0c;放到对应的服务器上&#xff0c;通过包管理器这样的程序&#xff0c;来把这些软件包下载安装 包管理器&#xff1a; Ubuntu&#xff1a;apt centos&#…

工程设备包括哪些内容?

工程设备是构成或计划构成永久工程一部分的机电设备、金属结构设备&#xff0c;仪器装置及其他类似的设备和装置。它们在工程建设中扮演着至关重要的角色&#xff0c;涵盖了从基础建设到设备安装的多个方面。以下是整理出来的一些工程设备主要的内容&#xff1a; 1. 建筑机械设…

实用好软-----电脑端 从视频中导出音频的方便工具

最近想从一个视频中导出个音乐&#xff0c;百度找很多没有合适的工具。最终找到了一款很方便 而且操作超级简单的工具。打开这个工具后只需要把需要导出音乐的视频拖进窗口里就会自动导出音乐mp3。方便小巧&#xff0c;而且音频效果还是不错的。 一些视频转换成音频文件&#x…

从零开始学习OMNeT++系列第一弹——OMNeT++的介绍与安装

最近由于由于工作上的需求&#xff0c;接了一个网络仿真的任务。于是开始调研各个仿真平台&#xff0c;然后根据目前的需求和网络上公开资料的多少&#xff0c;决定使用omnet这个网络仿真平台。现在也是刚开始学习&#xff0c;所以决定记录一下从零开始的这个学习过程。因为虽然…