Eureka服务注册与发现

简介: 本章介绍Eureka服务注册与发现功能,搭建eureka-server并实现user-service、order-service的注册与多实例部署,掌握服务动态发现机制,为后续Nacos替换奠定基础。

Eureka服务注册与发现
因前面提到Netflix相关组件已逐步被SpringCloud剔除,Eureka作为其中的注册中心,在此关注功能性即可,本章节不深入阐述其底层原理。后续章节替换为Nacos后,针对Nacos再做细节讨论。
1.Eureka工程搭建启动
新建module,名称:eureka-server
引入pom依赖,如maven未刷新需手动刷新拉取
新建启动类:EurekaApplication
新建配置文件:application.yml
工程启动并访问:http://127.0.0.1:10086/
至此,eureka已完成创建、部署、访问。至此工程目录结构如下
打开Idea-Service控制台
稍后章节我们需工程多开部署(为后续Ribbon测试打好基础),需读者提前打开一下控制台窗口
2.user-service接入并启动
2.1 引入pom依赖
2.2 更新配置文件
以下配置文件注意缩进,其中application为spring下二级路径,主要为了区分多个注册在eureka上的服务。
2.3 启动并查看Eureka信息
2.3 复制模拟多实例部署
右键UserApplication,选择:Copy Configuration
设置应用信息,打开VM参数设置
VM参数设置如下:-Dserver.port=8082
启动应用并查看Eureka信息,此时变成两个活跃实例
3.order-service接入并启动
重复user-service操作,pom文件依赖操作完全一致,但配置文件中应用名称不同,在此单独贴出
启动后访问页面如下
至此我们的工程部署运行情况如下:
此时工程目录结构如下
4.常见问题及解决方案
Eureka启动报错但页面访问正常
确保Eureka信息配置中增加:register-with-eureka: false、fetch-registry: false,以避免因Eureka自身注册自身带来的启动异常
应用启动正常,访问Eureka发现注册失败
确保应用引入依赖:spring-cloud-starter-netflix-eureka-server
确保优先启动Eureka,而后启动user-service、order-service
如遇其他未知问题,为避免浪费时间可直接使用此工程导入
cloud.zip
(32 KB)
5.总结
本节读者带领大家完成SpringCloud集成组件Eureka的开发、部署,并完成业务应用在Eureka的注册、访问。基于此细心的读者朋友们可以发现:上一章节还写死的访问地址,已经变成动态从注册中心获取了,避免了接口提供方注册信息变更、导致消费方接口服务调用异常的场景。随着Eureka的剔除,Nacos又将如何优雅替换Eureka呢?待我们后续继续实操逐步发掘吧。
思考问题
Eureka是什么?解决了什么问题?
Eureka如何实现服务注册与服务发现?
还有哪些技术可以实现服务注册与服务发现?

相关文章
|
1天前
|
存储 缓存 算法
学习数据结构和算法的框架思维
本文系统梳理数据结构与算法核心思想:所有数据结构本质为数组或链表的变形,基本操作均为遍历与访问;算法本质是穷举,关键在于“无遗漏”和“无冗余”。掌握框架思维,方能以不变应万变,高效刷题。
学习数据结构和算法的框架思维
|
1天前
|
存储 自然语言处理 分布式计算
08 | 索引构建:搜索引擎如何为万亿级别网站生成索引?
针对超大规模数据,可通过分治与多路归并生成内存外倒排索引。先将文档分批在内存建索引,再写入有序临时文件,最后归并为全局索引。检索时结合内存哈希、B+树及分层加载技术,提升效率。
|
1天前
|
存储 负载均衡 搜索推荐
大规模检索系统
本讲介绍大规模检索系统如何通过分布式技术加速检索。通过索引拆分,将倒排索引分散到多台服务器内存中,减少单机数据规模和磁盘访问,从而提升单次查询效率。结合分发服务器与负载均衡,实现高吞吐、低延迟的分布式检索架构。
|
1天前
|
SQL 人工智能 API
Apache Flink 2.2.0: 推动实时数据与人工智能融合,赋能AI时代的流处理
Apache Flink 2.2.0 发布!新增 ML_PREDICT 与 VECTOR_SEARCH 实时 AI 函数,增强物化表、Delta Join 及连接器能力,优化批处理与 PyFlink。73 位贡献者共建,9 大 FLIP,220+ 修复改进,助力智能低延迟数据管道。
Apache Flink 2.2.0: 推动实时数据与人工智能融合,赋能AI时代的流处理
|
1天前
|
存储 关系型数据库 调度
微服务原理篇(XXLJOB-幂等-MySQL)
本课程涵盖XXL-JOB任务调度、幂等性解决方案及MySQL数据库核心知识。学习内容包括:掌握XXL-JOB的分布式调度优势与搭建使用,理解并实现幂等性以避免重复操作;深入MySQL存储引擎差异、索引机制(如B+树)、回表与覆盖索引原理,并熟悉SQL调优与分库分表策略,提升系统性能与数据一致性保障能力。
 微服务原理篇(XXLJOB-幂等-MySQL)
|
1天前
|
存储 机器学习/深度学习 编解码
预训练技巧
预训练是大模型的核心基础,涵盖混合精度、分布式训练、ZeRO优化、FlashAttention等关键技术,通过高效计算与显存优化,实现大规模模型的快速稳定训练。
|
1天前
|
缓存 网络协议 关系型数据库
01丨核心原理:能否画张图解释下 RPC 的通信流程?
RPC(远程过程调用)是一种实现跨服务透明调用的技术,屏蔽网络通信细节,让开发者像调用本地方法一样调用远程服务。它通过序列化、协议解析和动态代理等机制完成远程调用,是微服务架构的“经络”,广泛应用于分布式系统中,提升开发效率与系统解耦能力。
|
1天前
|
存储 算法 Java
03 | 哈希检索:如何根据用户 ID 快速查询用户信息?
本文介绍了哈希表的原理与实现。通过哈希函数将键转换为数组下标,利用数组随机访问特性实现O(1)级查询。针对哈希冲突,讲解了开放寻址法(线性探查、二次探查、双散列)和链表法两种解决方案,并分析其优劣。最后指出哈希表需足够空间以保持低装载因子,且不支持有序操作,适合精确查找但不适合范围查询。
|
1天前
|
搜索推荐 算法 Java
2、排序
排序算法分为比较类和非比较类。比较类包括快排、归并、堆排(平均时间O(n log n))和插入排序(O(n²)),适用于不同数据规模与有序度;非比较类如计数、桶、基数排序,可达到O(n),依赖数据特征。实际应用中常结合多种算法优化性能。
|
1天前
|
存储 NoSQL Linux
Redis集群部署指南
本教程基于CentOS7详解Redis集群部署,涵盖单机安装、主从复制、哨兵高可用及分片集群搭建。通过多实例模拟真实环境,深入讲解配置、启动、主从切换与数据读写测试,助你掌握Redis分布式架构核心技能。
11 0