Eureka服务注册与发现

简介: 本节介绍Spring Cloud中Eureka注册中心的搭建与使用,完成服务注册与发现功能,并为后续Nacos替换Eureka奠定基础。

因前面提到Netflix相关组件已逐步被SpringCloud剔除,Eureka作为其中的注册中心,在此关注功能性即可,本章节不深入阐述其底层原理。后续章节替换为Nacos后,针对Nacos再做细节讨论。

1.Eureka工程搭建启动

  • 新建module,名称:eureka-server
  • 引入pom依赖,如maven未刷新需手动刷新拉取

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
</dependencies>
  • 新建启动类:EurekaApplication
package cn.itcast.eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* Eureka启动类
*
* @author 
* @date 2022-12-22 16:20
*/
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
        System.out.println("Eureka服务启动成功");
    }
}
  • 新建配置文件:application.yml
server:
  port: 10086 # 服务端口
spring:
  application:
    name: eurekaserver # eureka的服务名称
eureka:
  client:
    serviceUrl:  # eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka
    register-with-eureka: false
    fetch-registry: false

至此,eureka已完成创建、部署、访问。至此工程目录结构如下

打开Idea-Service控制台

稍后章节我们需工程多开部署(为后续Ribbon测试打好基础),需读者提前打开一下控制台窗口

2.user-service接入并启动

2.1 引入pom依赖

<!--eureka-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2.2 更新配置文件

以下配置文件注意缩进,其中application为spring下二级路径,主要为了区分多个注册在eureka上的服务。

application:
    name: userservice
eureka:
  client:
    service-url: #eureka服务路径
      defaultZone: http://127.0.0.1:10086/eureka/

2.3 启动并查看Eureka信息

2.3 复制模拟多实例部署

右键UserApplication,选择:Copy Configuration

设置应用信息,打开VM参数设置

VM参数设置如下:-Dserver.port=8082

启动应用并查看Eureka信息,此时变成两个活跃实例

3.order-service接入并启动

重复user-service操作,pom文件依赖操作完全一致,但配置文件中应用名称不同,在此单独贴出

application:
    name: orderservice
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka/

启动后访问页面如下


至此我们的工程部署运行情况如下:

此时工程目录结构如下

4.常见问题及解决方案

  1. Eureka启动报错但页面访问正常

确保Eureka信息配置中增加:register-with-eureka: false、fetch-registry: false,以避免因Eureka自身注册自身带来的启动异常

  1. 应用启动正常,访问Eureka发现注册失败
  1. 确保应用引入依赖:spring-cloud-starter-netflix-eureka-server
  2. 确保优先启动Eureka,而后启动user-service、order-service
  1. 如遇其他未知问题,为避免浪费时间可直接使用此工程导入

📎cloud.zip

5.总结

本节读者带领大家完成SpringCloud集成组件Eureka的开发、部署,并完成业务应用在Eureka的注册、访问。基于此细心的读者朋友们可以发现:上一章节还写死的访问地址,已经变成动态从注册中心获取了,避免了接口提供方注册信息变更、导致消费方接口服务调用异常的场景。随着Eureka的剔除,Nacos又将如何优雅替换Eureka呢?待我们后续继续实操逐步发掘吧。


思考问题

  • Eureka是什么?解决了什么问题?
  • Eureka如何实现服务注册与服务发现?
  • 还有哪些技术可以实现服务注册与服务发现?

6.推荐阅读资料

目录
相关文章
|
2月前
|
负载均衡 应用服务中间件 Nacos
Nacos配置中心
本文详细介绍Nacos作为配置中心的实现原理与实战步骤,涵盖配置管理、热更新、共享配置优先级及集群搭建,帮助微服务应用实现配置动态化、高可用部署。
125 4
|
2月前
|
设计模式 人工智能 架构师
面对"祖传代码"不敢动?用这条指令让AI做你的首席重构架构师
面对"屎山"代码不敢动?本文介绍了一套专业的AI重构指令,化身拥有15年经验的首席架构师。它能精准识别代码异味,提供基于设计模式的重构方案,并生成验证清单,帮助开发者安全高效地偿还技术债务。
255 7
|
2月前
|
人工智能 缓存 算法
为什么你学了那么多算法,代码性能还是“一塌糊涂”?
本文针对开发者普遍存在的“学了算法却写不出高性能代码”的痛点,提供了一套系统化的“算法优化AI指令”。该指令旨在引导开发者建立“分析-设计-验证”的工程化思维,通过结构化的提问框架,让AI成为辅助性能优化的“私人教练”,从而将零散的算法知识转化为体系化的实战能力。
206 7
|
SQL 存储 分布式数据库
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
883 0
|
4月前
|
人工智能 运维 算法
AI来了,运维不慌:教你用人工智能把团队管理提速三倍!
AI来了,运维不慌:教你用人工智能把团队管理提速三倍!
509 8
|
4月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
5572 78
|
5天前
|
数据采集 机器学习/深度学习 自然语言处理
PPO 与 DP
本文通俗解析PPO与DPO两大偏好优化算法:PPO为间接优化,需训练奖励模型,稳定但流程复杂;DPO为直接优化,跳过奖励模型,简洁高效但对数据质量要求高。对比原理、流程、优劣及适用场景,助你按业务需求科学选型。
|
2月前
|
SQL 安全 网络协议
常见的网络攻击
恶意软件、网络钓鱼、中间人攻击、DDoS攻击、SQL注入、零日漏洞及DNS隧道是常见网络安全威胁。恶意软件通过漏洞入侵,窃取数据或破坏系统;网络钓鱼伪装可信来源骗取信息;MitM攻击窃听通信;DDoS以海量流量瘫痪服务;SQL注入操控数据库;零日攻击利用未修复漏洞;DNS隧道则隐藏恶意数据传输,严重威胁网络安全。
83 0
|
5月前
|
机器学习/深度学习 算法 安全
近端策略优化算法PPO的核心概念和PyTorch实现详解
近端策略优化(PPO)是强化学习中的关键算法,因其在复杂任务中的稳定表现而广泛应用。本文详解PPO核心原理,并提供基于PyTorch的完整实现方案,涵盖环境交互、优势计算与策略更新裁剪机制。通过Lunar Lander环境演示训练流程,帮助读者掌握算法精髓。
660 54
|
12月前
|
存储 人工智能 运维
2025开年AI王炸组合:Deepseek + Zabbix = 监控界“钢铁侠”
2025年,AI技术迎来爆发,中国黑马Deepseek以“硬核战斗力”登顶热搜,预判智能家居、降低自动驾驶事故率、挑战医疗诊断新高度,被誉为“人类外挂”。与此同时,Zabbix结合AI,推出智能运维助手,极大提升运维效率。Zabbix与Deepseek联手发起“脑洞大赛”,万元奖励等你来拿。未来,不懂AI的运维或将被淘汰,立即行动,成为监控界的“天选打工人”! 简介:2025年,AI技术全面革新,Deepseek和Zabbix引领智能运维新潮流,提供高效解决方案并发起创意大赛,助力运维人员掌握未来技能。
473 0
2025开年AI王炸组合:Deepseek + Zabbix = 监控界“钢铁侠”