下面是一个完整的 springcloud-eureka-demo 示例项目,包含:

  1. Eureka Server 注册中心

  2. Eureka Client 服务提供者(service-provider)

  3. Eureka Client 服务消费者(service-consumer)


📁 项目结构

springcloud-eureka-demo/
├── eureka-server/
├── service-provider/
└── service-consumer/

1️⃣ eureka-server:注册中心

📄 pom.xml

<?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://maven.apache.org/POM/4.0.0https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.14</version> <!-- 或其他可用版本 --><relativePath/> <!-- 注意不能写错或丢掉 --></parent><groupId>org.example</groupId><artifactId>eureka-server</artifactId><version>0.0.1-SNAPSHOT</version><name>eureka-server</name><description>Eureka Server for Service Discovery</description><properties><java.version>17</java.version><spring-cloud.version>2020.0.6</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2020.0.6</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

📄 application.properties

spring.application.name=eureka-server
server.port=8761eureka.client.register-with-eureka=false
eureka.client.fetch-registry=falseeureka.server.enable-self-preservation=false

📄 启动类

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

2️⃣ service-provider:服务提供者

📄 pom.xml

<?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://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.14</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>org.example</groupId><artifactId>service-provider</artifactId><version>0.0.1-SNAPSHOT</version><name>service-provider</name><description>service-provider</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version><spring-cloud.version>2020.0.6</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2020.0.6</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

📄 application.properties

spring.application.name=service-provider
server.port=8001
eureka.client.service-url.defaultZone=http://localhost:8761/eureka

📄 控制器

package org.example.serviceprovider;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "Hello from Provider";}
}

📄 启动类

package org.example.serviceprovider;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@SpringBootApplication
@EnableEurekaClient
public class ServiceProviderApplication {public static void main(String[] args) {SpringApplication.run(ServiceProviderApplication.class, args);}}

3️⃣ service-consumer:服务消费者

📄 pom.xml

<project><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.14</version> <!-- 与 Spring Cloud 2022.0.5 兼容 --><relativePath/></parent><groupId>org.example</groupId><artifactId>service-consumer</artifactId><version>0.0.1-SNAPSHOT</version><name>service-consumer</name><description>Spring Cloud Consumer</description><properties><java.version>17</java.version><spring-cloud.version>2020.0.6</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2020.0.6</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

📄 application.properties

server.port=8002spring.application.name=service-consumereureka.client.service-url.defaultZone=http://localhost:8761/eureka

📄 控制器

package org.example.serviceconsumer;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;@RestController
public class ConsumerController {@Autowiredprivate RestTemplate restTemplate;@GetMapping("/getHello")public String getHello() {return restTemplate.getForObject("http://service-provider/hello", String.class);}@Bean@LoadBalancedpublic RestTemplate restTemplate() {return new RestTemplate();}
}

📄 启动类

package org.example.serviceconsumer;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@EnableEurekaClient
@SpringBootApplication
public class ServiceConsumerApplication {public static void main(String[] args) {SpringApplication.run(ServiceConsumerApplication.class, args);}}

✅ 启动顺序

  1. 先启动 eureka-server(8761端口)

  2. 启动 service-provider(8001端口)→ 注册到 Eureka

  3. 启动 service-consumer(8002端口)

浏览器访问:

  • 注册中心:http://localhost:8761

  • 消费者调用:http://localhost:8002/getHello → 返回 "Hello from Provider"


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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络 网络层:控制平面

在本章中&#xff0c;包含网络层的控制平面组件。控制平面作为一种网络范围的逻辑&#xff0c;不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报&#xff0c;而且控制网络层组件和服务如何配置和管理。5.2节&#xff0c;传统的计算图中最低开销路径的路由选…

力扣第85题-最大矩形

力扣链接:85. 最大矩形 - 力扣&#xff08;LeetCode&#xff09; 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵&#xff0c;找出只包含 1 的最大矩形&#xff0c;并返回其面积。 输入&#xff1a;matrix [["1","0","1","…

6-创建和查询

创建&查询 DDL - 表操作 - 查询 查询当前数据库所有表 查询库表之前需要先试用 use 数据库名 进入数据库才可以查询到该数据库的库表, 否则将会出现未选择数据库的报错; 如果数据库中并无数据表, 则会出现 Empty set 的相应结果 SHOW TABLES;切换到 sys 数据库, 并且查询库…

【Java面试】MySQL的聚集索引和非聚集索引的区别?

一、存储结构的本质差异 物理存储的哲学冲突 聚集索引的本质是将数据行的物理存储顺序与索引键值的逻辑顺序强制绑定&#xff0c;这种设计源于计算机科学的局部性原理&#xff08;Locality Principle&#xff09;。 为什么选择B树&#xff1f; B树的平衡多路特性&#xff08;通…

LRU缓存设计与实现详解

LRU缓存设计与实现详解 一、LRU缓存核心概念1.1 LRU策略定义1.2 应用场景1.3 核心操作要求 二、数据结构设计&#xff1a;双向链表哈希表2.1 为什么选择双向链表&#xff1f;2.2 为什么结合哈希表&#xff1f;2.3 节点结构设计&#xff08;双向链表&#xff09;2.4 LRU缓存的逻…

RabbitMQ中,basicAck、basicNack和basicReject是三种核心的消息确认机制

channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true); channel.basicReject(message.getMessageProperties().getDeliveryTag(), false); channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); 在RabbitMQ中&#xff0…

UNIAPP入门基础

一、开发环境准备 1. 安装 HBuilderX(官方推荐IDE) 下载地址:HBuilderX 官网 版本选择: App开发版:开箱即用,内置 UniApp 插件 标准版:需手动安装 UniApp 插件(运行时会提示) 安装步骤: Windows:双击安装包,勾选“创建桌面快捷方式” macOS:拖拽到 Applications…

前端单点登录

“前端单点登录&#xff08;SSO, Single Sign-On&#xff09;”是指在多个系统之间共享用户登录状态&#xff0c;使用户只需登录一次&#xff0c;就可以在多个子系统中使用同一身份访问资源&#xff0c;无需重复登录。 以下是一个典型的前端单点登录方案的介绍和实现思路&…

DiNA:扩张邻域注意力 Transformer

摘要 Transformer 正迅速成为跨模态、跨领域和跨任务中应用最广泛的深度学习架构之一。在计算机视觉领域&#xff0c;除了持续发展的纯 transformer 架构&#xff0c;分层 transformer 也因其优越的性能和在现有框架中易于集成而受到广泛关注。这类模型通常采用局部化的注意力…

对于“随机种子”的作用的理解

深度学习系统的两大组成部分 确定性部分&#xff08;无法通过种子改变&#xff09;&#xff1a; ✅ 网络结构&#xff1a;层数、神经元数量、连接方式 ✅ 学习率&#xff1a;如您所说&#xff0c;这是开发者明确设置的固定值或调度策略 ✅ 损失函数&#xff1a;MSE、CrossEnt…

C# 委托(调用带引用参数的委托)

调用带引用参数的委托 如果委托有引用参数&#xff0c;参数值会根据调用列表中的一个或多个方法的返回值而改变。 在调用委托列表中的下一个方法时&#xff0c;参数的新值&#xff08;不是初始值&#xff09;会传给下一个方法。例如&#xff0c; 如下代码调用了具有引用参数的…

Cisco FMC events无法加载并且cpu high故障- Cisco bug

FMC故障 日志无法加载&#xff0c;并且CPU high 95% 经确认是bug问题&#xff0c;需要重置1个monetdb的进程 https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwe47671 https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwi64429 2.1 备份FMC配置 2.2 重置进程 大约为2…

HarmonyOS 公共事件机制介绍以及多进程之间的通信实现(9000字详解)

HarmonyOS 公共事件机制介绍以及多进程之间的通信 CES(Common Event Service,公共事件服务)为应用程序提供订阅、发布、退订公共事件的能力 1. 公共事件的介绍 1.1.1公共事件的分类&#xff1a;公共事件从系统的角度可以分为系统公共事件和自定义公共事件 系统公共事件&#x…

华为云Flexus+DeepSeek征文|快速搭建Dify LLM应用开发平台教程

【摘要】本文介绍基于华为云Flexus X实例快速部署Dify-LLM应用开发平台的解决方案。通过创建云服务器&#xff08;2核4G配置&#xff09;、弹性公网IP&#xff08;300Mbps带宽&#xff09;及安全组&#xff0c;实现平台私有化部署。方案提供两种计费模式&#xff08;按需197元/…

【blender】使用bpy对一个obj的不同mesh进行不同的材质贴图(涉及对bmesh的操作)

BMesh 简介 BMesh 是 Blender 中用于表示和操作网格数据的底层数据结构系统&#xff0c;它是传统网格数据结构的高级替代品。 主要特点 灵活拓扑支持&#xff1a; 支持 n-gons&#xff08;任意边数的多边形&#xff09;&#xff0c;而不仅仅是三角形和四边形允许边和顶点不属…

如何通过nvm切换本地node环境详情教程(已装过node.js更改成nvm)

针对系统已装过node环境或者第一次安装nvm环境如何切换nvm 文章目录 系列文章目录前言一、删除原有node环境二、使用步骤 1.下载nvm软件2.安装node不同版本3.使用node版本4.配置包文件、安装包、配置包环境 总结 一、删除原有node环境 1、删除之前安装的node包&#xff0c;以及…

概率论符号和公式整理

本文是由AI生成后&#xff0c;经作者优化整理的文章。个人总结&#xff0c;仅限参考&#xff01; 以下整理了概率论中的常用符号和公式表格&#xff0c;覆盖基础知识、关键定理和常用分布&#xff1a; 一、基础集合与事件符号 符号名称含义/公式说明 S S S样本空间所有可能结…

SpringSecurity是什么?

Spring Security是Spring生态中的安全框架&#xff0c;用于管理Web应用的认证与权限控制&#xff0c;支持多种登录方式并集成防护机制&#xff0c;可防范CSRF/XSS等攻击&#xff0c;保障企业级系统的安全性。 一、核心功能与定位 身份认证&#xff08;Authentication&#xff…

nt!IoSynchronousPageWrite函数分析之atapi!IdeReadWrite----非常重要

第一部分&#xff1a;预分析 1: kd> g Breakpoint 7 hit atapi!IdeReadWrite: f729cb2a 55 push ebp 1: kd> kc # 00 atapi!IdeReadWrite 01 atapi!IdeSendCommand 02 atapi!AtapiStartIo 03 atapi!IdeStartIoSynchronized 04 nt!KeSynchronizeExecuti…

软考系统架构设计师经验总结

本文目的 对参加的2025年上半年系统架构设计师考试进行总结提供一些备考思路给未来参加系统架构设计师的同学 个人背景 工作背景 本科计算机与技术&#xff08;学过一些计算机基础课程&#xff09;&#xff0c;15年毕业后从事过b端&#xff08;人群画像、营销、用户增长、硬…