当前位置: 首页 > news >正文

微服务注册中心 Spring Cloud Eureka是什么?

泻药,人在工位,刚改完 bug,看到“微服务注册中心 + Spring Cloud Eureka”这俩关键词,DNA 动了,必须来答一发。
(文末有彩蛋,不看到最后血亏。)


一、先给结论:

Eureka 就是微服务界的“婚姻介绍所”,服务 = 单身男女,注册中心 = 红娘,消费者 = 相亲者,调用链 = 谈恋爱 → 结婚 → 离婚(下线)。
一句话:没有红娘,单身狗只能村口尬聊;没有 Eureka,微服务只能 404 自嗨。


二、为什么非得用注册中心?

:我把 IP 写死在配置里,再配个 Nginx 不行吗?
:行,只要你能接受以下彩蛋:

  1. 凌晨 3 点服务扩了个容,运维哥哥手动改 Nginx upstream,手一抖,全站 502;
  2. 新来个实习生,把 192.168.1.3 写成了 192.168.1.38,排查三天,眼睛自带马赛克;
  3. 双十一突然杀疯,临时上了 50 个节点,老板让你 5 分钟搞定,你说“要不我先删库跑路?”

所以,注册中心 = 动态感知 + 自动化 = 保命神器。


三、Eureka 到底怎么当红娘?

  1. 服务启动 → 带着“姓名、年龄、三围(IP、端口、健康检查 URL)”去红娘那里登记;
  2. 红娘把信息记在小本本(ConcurrentHashMap)里,同时同步给闺蜜节点(peer replication);
  3. 消费者每 30 秒拉一次“相亲名单”(delta 增量更新,省流量);
  4. 消费者本地缓存一份, Ribbon 按负载均衡算法挑一个顺眼的,直接约饭(HTTP 调用);
  5. 服务下线(优雅 shutdown)→ 给红娘发“分手短信”,否则红娘 90 秒没收到心跳就默认“猝死”,直接除名。

四、高可用八卦:

Eureka 自己也是集群,节点之间互相注册、互相复制,没有主从,AP 届的扛把子(CAP 里牺牲 C 保 A)。
场景:网络抖动,机房 1 和机房 2 脑裂,Eureka 集群进入“自我保护”模式——

“老娘最近收到的分手信有点多,怕误杀,先暂停清理,等网络好了再说。”

结果:

  • 服务列表可能短期不一致,但不会误踢
  • 消费者本地缓存还能继续撑场面,不会瞬间雪崩
  • 运维同学可以睡个安稳觉,头发 +1

五、代码走读 30 秒:

Server 端

server:port: 8761
eureka:instance:hostname: eureka1client:register-with-eureka: false   # 自己是红娘,不相亲fetch-registry: falseservice-url:defaultZone: http://eureka2:8762/eureka/,http://eureka3:8763/eureka/

Client 端

spring:application:name: user-service
eureka:client:service-url:defaultZone: http://eureka1:8761/eureka/instance:prefer-ip-address: truelease-renewal-interval-in-seconds: 30lease-expiration-duration-in-seconds: 90

启动类加 @EnableEurekaServer / @EnableDiscoveryClient,完事儿。
(别问我为什么知道,当年 copy 错了注解,排查到怀疑人生。)


六、Eureka 的“黑历史”:

  1. 2.x 停更:Netflix 官宣“不玩了”,社区一度哭晕;
  2. 替代品内卷
    • Nacos:阿里系,同时支持 DNS + RPC + 配置中心,国产之光;
    • Consul:HashiCorp 出品,带 KV 存储 + 多数据中心,Go 写的高并发;
    • Etcd:K8s 御用,强一致,云原生亲儿子;
  3. Spring Cloud 2022 起官方移除了 Netflix 除 Eureka 外的全套,但 Eureka 依旧活得好好的,老项目存量之王,面试八股文常驻嘉宾。

七、 FAQ 时间:

Q1:Eureka 能跨机房吗?
A:能,但延迟高就自我保护疯狂报警,建议双注册 + 双消费(Nacos 的多数据中心更香)。

Q2:k8s 里还用 Eureka 是不是傻?
A:k8s 自带 DNS + Service,原生就能做服务发现;但老项目无缝迁移、语言异构、灰度场景,Eureka 依旧能顶半边天。存在即合理,别急着喷

Q3:怎么优雅下线?
A

  1. 先发 POST /eureka/apps/{appID}/{instanceID}/status?value=OUT_OF_SERVICE
  2. 等流量归零,再 shutdown
  3. 或者直接用 Spring Boot 的 GracefulShutdown + actuator人间清醒

八、彩蛋:

当年某大厂双十一, Eureka 集群 TPS 飙到 4w,监控图直接画出心电图,运维大佬边喝咖啡边吐槽:

“这哪是注册中心,分明是心跳检测仪——服务活着,我也活着;服务挂了,我血压 180。”


九、总结一句话:

Eureka 老矣,尚能饭;新人可上 Nacos,老系统安心躺平。
技术选型没有银弹,合适业务 + 能 hold 住 + 半夜不炸,就是牛逼。


关注我,下一篇聊聊《Nacos 真香现场:从 Eureka 无痛迁移踩坑记》,点个赞再走吧,毕竟头发换来的干货。

http://www.dtcms.com/a/405955.html

相关文章:

  • websocket链接
  • 【oceanbase】Oracle模式查看pl慢sql
  • 电子商务网站规划的流程网站备案申请模板
  • 旺道网站优化公众号怎么推广
  • 内存卡标识全解析:从存储到性能的密码
  • 动态的魔法:列表与条件渲染
  • 乐清联科网站建设wordpress divi 数据
  • ARM单片机中断及中断优先级管理详解
  • python软件操作
  • c++_day2
  • 数据通信与计算机网络-交换
  • 2026考研时间,定了
  • 转:Ubuntu20.04安装NVIDIA驱动+CUDA超详细安装指南
  • 软件系统设计课程-Day1-从用户投诉到系统需求
  • 飞浪网站建设网站开发毕业设计任务书
  • JavaScript学习笔记(十二):call、apply和bind使用指南
  • Java外功基础(1)——Spring Web MVC
  • 【双机位A卷】华为OD笔试之【DP】双机位A-构建数列【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
  • 基于PyTorch深度学习无人机遥感影像目标检测、地物分类及语义分割实践技术应用
  • 基于PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化实践技术应用
  • Kafka如何保证消息可靠性
  • 前端面经-高级开发(华为od)
  • 网站建设与 维护实训报告范文wordpress 上传网站吗
  • 基于深度学习神经网络协同过滤模型(NCF)的视频推荐系统
  • 网站建立时间软件开发5个过程
  • 【微实验】激光测径系列(六)MATLAB 实现 CCD 图像像素与实际距离标定
  • 设计模式之代理模式-骆驼与巴巴羊的故事
  • Linux安全机制--系统层安全机制
  • 大模型之bert变种
  • 华为HCIE认证-“天花板”级考试的难度解析