Netflix Eureka 2.0.0正式发布:借尸还魂还是虚晃一枪?

news2025/4/12 19:22:49

在这里插入图片描述

本文已被https://yourbatman.cn收录;女娲Knife-Initializr工程可公开访问啦;程序员专用网盘https://wangpan.yourbatman.cn;技术专栏源代码大本营:https://github.com/yourbatman/tech-column-learning;公号后台回复“专栏列表”获取全部小而美的原创技术专栏

你好,我是YourBatman:一个俗人,贪财好色。

TitleLink
所属专栏[YourBatman]-资讯/新特性,[YourBatman]-Spring技术栈新特性
源代码https://github.com/yourbatman/FXP-java-ee
程序员专用网盘公益上线啦,注册送1G超小容量,帮你实践做减法https://wangpan.yourbatman.cn
Java开发软件包(Mac)https://wangpan.yourbatman.cn/s/rEH0 提取码:javakit
女娲工程http://152.136.106.14:8761
版本约定[Mac OS 13.1],[IDEA 2022.3.1],[Spring Boot 3.0.0]

📚前言

北京时间2022-12-14,Netflix的Eureka 2.0.0正式发布。

惊不惊喜,意不意外,Eureka 2.x闭源、停止更新似乎已成共识,突然间“借尸还魂”发布新版本?难道是虚晃一枪?先看下它们的压压惊:

  • Spring Boot 3.0.0正式发布,Banner不再支持图片&增强可观测性
  • Spring Boot 2.7.0正式发布,弃用从spring.factories加载自动配置类
  • Spring Boot 2.6.0正式发布,循环引用终于被禁
  • Spring Boot 2.5.0正式发布,环境变量可指定前缀的功能很赞
  • Spring Boot 2.4.0正式发布,全新的配置文件加载机制
  • Spring Boot 2.3.0正式发布:优雅停机、配置文件位置通配符

✍正文

本文之所以聊一聊Eureka,是因为它还是有一定话题度的。换句话讲,在Spring Cloud的加持下,Eureka作为注册中心的市场占有率蛮高的,大概率还是第一名(非官方数据,笔者个人直觉而已)。

🚀真的or假的?

这,虽然有点难以置信,但,一图胜千言:
在这里插入图片描述
在这里插入图片描述
结论:真的,毋庸置疑!!!

🚀谁在提交代码?

继续看图:
在这里插入图片描述
一直提交代码的竟是Spring Cloud的作者,并非奈飞的工程师?

其实不然,Spencer Gibb确实有过不少的commit,但他绝非唯一。但他的源动力是很足的,作为Spring Cloud项目的负责人之一,也得负责将Release Train上的组件整合进来嘛。说到底,还是谁最痛,谁去推!

PS:代码肯定不会是他一个人来写(commit也有不少奈飞的工程师),但主要推手之一一定有他

🚀为什么还在维护Eureka?

既然Netflix官方都不愿去继续发展Eureka了,为何还在持续迭代升级呢?

这其中非常重要的一个原因是:Eureka作为配置中心组件,足够优秀!!!

  • 整体设计、表现、性能、代码水平…都属非常优秀级别
  • 无明显短板:性能可能算一个,但只要不是超大规模集群就不成问题

这里祭出各个注册中心对比图,感受下Eureka的“强悍”:
在这里插入图片描述

乍一看Nacos貌似完胜?但“国产软件”想要走向世界,还有一段路要走。这不体现在它是否实现的功能,而体现在实现的非功能(如文档、宣传、设计、代码水平等)。

🚀这次更新的目的是啥

结合Spring Framework、Spring Boot、Spirng Cloud的发布节点,以及上面截图中
Spring Cloud作者一直提交代码的迹象来看,本次升级的目的就显而易见了:继续拥抱Spring Cloud。这不,最新的Spring Cloud 2022已经“拥抱”它了:
在这里插入图片描述

本次升级的目的,Release Note上也做了说明:这个2.0.0版本是一项新的工作,和2.x-archive分支是完完全全的两码事,从代码分支里也能看出来:
在这里插入图片描述

本次升级,Eureka Server的Http API接口和数据结构没有任何改变。言外之意:协议层面,100%向下兼容,兼容1.x的Client客户端。所以本次升级的目的主要是:Spring Framework 6.0和Spring Boot 3.0兼容,并且拥抱Jakarta EE 9。


🌈what’s new(新特性)

既然升级已成事实,并非虚晃一枪。那就看看新版本带来了哪些新特性呗。

虽然是大版本号的升级,但在功能上并不会有多少改变,简要看一看。

🚀最低版本要求

  • JDK 8(跑测试的话要求JDK 11及以上,因为测试依赖基于Jakarta EE 9的Jetty)
    • 解释:原生Eureka Client&Server的代码,使用JDK 8可以正常构建、使用
  • Spring Boot 3.0.0
  • Spring Cloud 2022.0.0

原生Eureka估计没人会直接使用,一般都会结合Spring Cloud一起,这也是“官方推荐”。

🚀其它改变

众所周知,Eureka是CS模式,分为Client端和Server端。上面提到:本次升级协议层面完全没变,但这并不代表代码层面没有变化。

2.0.0版本Java客户端API不向后兼容1.x。言外之意:接口协议虽不变,但实现接口的代码API变了,不兼容1.x了。我们知道Eureka发送Http请求使用的是glassfish的Jersey客户端,版本变强便是本次不兼容的主要原因:Eureka 1.x版本默认使用Jersey 1.x(可选支持Jersey 2.x),而Eureka 2.0.0版本使用的是jersey 3.x。
在这里插入图片描述
从Jar包层面可以看出,除了javax.* -> jakarta.*,改变得并不多,官方描述的是2.0.0大部分Java客户端API保持不变

另外,eureka-server这个模块现在并不能直接打成一个WAR包部署,因为“官方”(这里主要指的Spring官方)觉得没有必要,毕竟你不太可能单独去裸跑它。推荐的使用方式是作为Spring Cloud Netflix的一部分跑在Spring Boot应用上,非常方便。

🚀使用兼容性示例

大版本号升级了,并且还存在一定阻断式,但官方又一直强调改变得不多,那么到底如何呢?保险起见,笔者跑了几个典型case看看:

  1. eureka-server:下图可看到1.x和2.x的后台页面一毛一样
    在这里插入图片描述
    在这里插入图片描述
  2. 服务注册。笔者启了一个基于Spring Cloud 2021版本(基于1.x的eureka-client)的应用,分别进行注册到1.x和2.x的eureka-server,情况为:完全兼容,无任何违和感,符合官方说的协议层面100%兼容
    在这里插入图片描述
    在这里插入图片描述
  3. 集群模式。1.x和2.x可以无缝的组成集群模式,笔者亲测!这里就不贴图了,留给你自己玩一玩哈

声明:本文的case只做简单的现象、效果测试,不对最终生产环境负责,请酌情参考

🍞总结

本次大版本号升级,虽然不是虚晃一枪但也仅属小打小闹。对你之前学习过的Eureka知识、源码并不构成冲击,基本没什么变动,也算一件好事。

PS:若你对Eureka还不是很了解,笔者之前写过一个专栏来专门介绍,有空可去翻一番哈:
在这里插入图片描述

推荐阅读

  • IntelliJ IDEA 2022.3正式发布,配置云同步&支持Redis好用到炸
  • Spring Framework 6正式发布,携JDK 17&Jakarta EE开启新篇章
  • IntelliJ IDEA 2022.2正式发布,支持Spring Boot 3和Spring 6
  • JVM除了HotSpot,你还知道哪些?
  • YourBatman用趣味代码雨祝你:端午安康
  • 逐渐碎片化的Java生态圈:Oracle JDK、OpenJDK、阿里Dragonwell、华为毕昇

在这里插入图片描述

我是YourBatman:前25年不会写Hallo World、早已毕业的大龄程序员。高中时期《梦幻西游》骨灰玩家,网瘾失足、清考、延期毕业、房产中介、保险销售、送外卖…是我不可抹灭的黑标签

  • 🎓2013.07 清考、毕业答辩3次未通过、延期毕业
  • 🏷2013.08-2014.07 宁夏中介公司卖二手房1年,毕业后第1份工作
  • ️️🏷2014.07-2015.05 荆州/武汉,泰康人寿卖保险3月、饿了么送外卖2月,还有炸鸡排、直销等第2345份工作
  • 🏷2015.08 开始从事Java开发,闯过外包,呆过大厂!擅长抽象思维,任基础架构团队负责人
  • 🏷2021.08 因“双减政策”失业!历经9面,终获美团外卖L8的offer
  • 🙅🏻‍♀️Java架构师、Spring开源贡献者、CSDN博客之星年度Top 10、领域建模专家、写作大赛1/2届评委
  • 📚高质量代码、规范践行者;DDD领域驱动深度实践;即将出版书籍《Spring奇淫巧技》

在这里插入图片描述

序号专栏名称简介
01[YourBatman]-程序人生程序人生,人生程序
02[YourBatman]-资讯/新特性IDEA、JDK、Spring技术栈…新特性
03[YourBatman]-IntelliJ IDEA熟练使用IDEA就相当拥有物理外挂,助你高效编码
04[YourBatman]-Bean Validation熟练掌握数据校验,减少90%的垃圾代码
05[YourBatman]-日期时间帮你解决JDK Date、JSR 310日期/其实 的一切问题
06[YourBatman]-Spring类型转换Spring类型转换-框架设计的基石
07[YourBatman]-Spring staticstatic关键字在Spring里的应用
08[YourBatman]-Cors跨域关于跨域请求问题,本专栏足矣
09[YourBatman]-JacksonAlmost Maybe是最好的Jackson专栏
10[YourBatman]-Spring配置类专讲@Configuration配置类,你懂的
11[YourBatman]-Spring技术栈暂无所属小分类的,Spring技术栈大分类
12[YourBatman]-JDK暂无所属小分类的,JDK技术栈大分类
13[YourBatman]-ServletServlet规范、Web相关内容专题
14[YourBatman]-Java EE从Java EE到Jakarta EE,30年弹指一挥间
15[YourBatman]-工具/提效开发工具、软件工具,目标是提效
16[YourBatman]-Spring技术栈新特性 Spring Framework、Spring Boot、Spring Cloud、Spring其它技术
17[YourBatman]-基本功 每个Javaer,都需要有扎实的基本功
99源代码库大多数专栏均配有源代码,都在这里
  • 源代码库地址:https://github.com/yourbatman/tech-column-learning
  • CSDN主页:https://blog.csdn.net/f641385712
  • 掘金主页:https://juejin.cn/user/430664289367192
  • 博客园主页:https://www.cnblogs.com/yourbatman
  • 个人博客主页:https://yourbatman.cn
  • 个人网盘主页:https://wangpan.yourbatman.cn

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

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

相关文章

【Web前端HTML5CSS3】09、高度塌陷与 BFC

九、高度塌陷与 BFC 1、高度塌陷 在浮动布局中,父元素的高度默认是被子元素撑开的 当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离将会无法撑起父元素的高度,导致父元素的高度丢失 父元素高度丢失以后,其…

IU酒店释放轻中端投资活力,开启曲靖酒店新篇章

曲靖位于云南省东北部,是云南连接内地的重要陆路通道,素有“滇黔锁钥”、“入滇门户”、“云南咽喉”之称,是仅次于昆明的云南第二大城市。曾入选“中国十佳宜居城市”榜单10次的城市,拥有3000多年的文明史,早在三国魏…

mock功能

目标 了解mock的作用及使用场景; mock使用场景 mock:假的 前端程序员提到的mock数据的含义是:真的假数据 真的:符合接口规范要求的。 假数据:数据是人为创建出来的,不是真正的业务数据。 什么时候需要m…

客快物流大数据项目(九十七):ClickHouse的SQL语法

文章目录 ClickHouse的SQL语法 一、​​​​​​​常用的SQL命令 二、​​​​​​​​​​​​​​select查询语法 三、insert into语法 四、​​​​​​​​​​​​​​alter语法 ClickHouse的SQL语法 一、​​​​​​​常用的SQL命令 作用 SQL 列出所有数据库 s…

日本知名汽车零部件公司巡礼系列之株式会社135

株式会社135 业务内容: 各种齿轮零件加工(减速机零件) 齿轮马达的齿轮头零件组装加工 轮式起重机齿轮零件加工 其他部位、零件等的加工 公司简介: 资本金:3000万日元 员工数:41名(男33名,女8名&#x…

N维码算法的探索(二),16色的16进制编码表达汉字的试探

前些天写了一篇《N维码算法的探索》,是利用颜色像素对n维码算法扩展的思考。读者非常有限,能够理解的可能需专业人士了。 这种研究的意义何在?不知道。用上了就是有用,用不上也就被历史淘汰了。普通人通常的逻辑是:既…

js获取某一时间到现在的总时间以及svg图标统一管理方法的封装

目录 js获取某一时间到现在的总时间方法封装 一、需求 二、方法 三、使用 js封装一个svg图标管理方法 一、需求 二、实现 三、使用 js获取某一时间到现在的总时间方法封装 一、需求 在做一些信息展示的时候,我们需要展示各种时间,有时是准确的创…

攻防世界-宜兴网信办-inget

题目 访问题目路径 这个题目的意思就是请输入ID,然后尝试绕过,那应该就是SQL注入,但是呢,我是个懒狗,我直接跑sqlmap 先跑数据库名 sqlmap "http://61.147.171.105:51322/?id1" --current-db 爆表 sqlma…

迅为3A5000开发板龙芯自主指令集从里到外100%全国产设计方案

迅为3A5000开发板龙芯处理器自主指令集架构从里到外100%全国产设计方案 iTOP-3A5000 开发板采用全国产龙芯3A5000处理器,基于龙芯自主指令系统(LoongArch)的LA464微结构,并进一步提升频率,降低功耗,优化性能…

低代码多分支协同开发的建设与实践

作者:黄也(胖丁) 引言 随着低代码的普及,在低代码平台上构建企业级应用逐渐成为生产趋势。同时,随着低代码技术的提升,越来越多的复杂应用在低代码平台中完成。在其研发生命周期中,低代码开发者就会面临多人协作、并…

卷积神经网络 CNN 基础概念

目录 一:卷积神经网络 二:局部感受野 三:卷积层 四:池化层 五:激活层 六:全连接层 七:卷积神经网络算法过程 一:卷积神经网络 卷积神经网络(Convolutional Neural Networks,C…

nor flash调试与使用总结

最近项目中使用到norflash,总结一下学习与使用经验 文章目录一、Flash基本概念存储器介绍与Flash在其中定位---非易失存储器类别中嵌入式领域常见设备Flash的典型分类---NorFlash(贵/容量小/读快写慢)与NandFlash(便宜/容量大/读慢…

Zookeeper 4 Zookeeper JavaAPI 操作 4.9 模拟12306 售票案例

Zookeeper 【黑马程序员Zookeeper视频教程,快速入门zookeeper技术】 文章目录Zookeeper4 Zookeeper JavaAPI 操作4.9 模拟12306 售票案例4.9.1 Curator 实现分布式锁 API4.9.2 分布式锁案例 - 模拟12306 售票4 Zookeeper JavaAPI 操作 4.9 模拟12306 售票案例 4.…

企业经常会问到的软件测试面试题及答案,一定要好好记住

相信对于很多软件测试新手来说,技术项目的面试是十分让人头疼的,生怕没回答得好,就会跟这个offer失之交臂,因此,今天,我以身边朋友面试遇到过的几个问题以及刷过的软件测试题库柠檬班中的压中的题目&#x…

Maven 项目模板

Maven 项目模板 Maven 使用 archetype(原型) 来创建自定义的项目结构,形成 Maven 项目模板。 在前面章节我们学到 Maven 使用下面的命令来快速创建 java 项目: mvn archetype:generate 什么是 archetype? archetype 也就是原型&#xff…

终于有人把性能优化讲清楚了!阿里架构师推荐的Java性能权威指南

Java给大部分人的感觉就是慢,有严重的性能问题。其实程序慢的问题,与语言无关,与Java无关。Java应用的性能优化也是一个老生常谈的话题,但是只要我们深入的了解性能调优方法,走遍天下都不怕! 大多数开发人…

mac系统M1pro芯片安装VMware Fusion虚拟机win11操作系统(原创详细版)

VMware22年11月份推出Fusion 13,这是Fusion虚拟软件的最新更新。它允许Mac用户操作虚拟机来运行非macOS操作系统,如Windows 11。 有了Fusion 13,英特尔和苹果芯片Mac用户可以访问Windows 11虚拟机。英特尔Mac提供对Windows 11的全面支持&…

webpack 构建脚手架

前言 1. 构建项目 2. 局部安装 3. webpack.config.js 4. 打包 css 文件 5. 打包 less 文件 6. 打包 vue 文件 7. loader 和 plugin 区别 8. 添加版权的插件 9. html-webpack-plugin 打包 html 的插件 10. 压缩文件 11. webpack-dev-server 搭建本地服务器 前言 本文记录 webpa…

基于鸽群算法改进的DELM预测 -附代码

鸽群算法改进的深度极限学习机DELM的回归预测 文章目录鸽群算法改进的深度极限学习机DELM的回归预测1.ELM原理2.深度极限学习机(DELM)原理3.鸽群算法4.鸽群算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理 ELM基础原理请参考:https:…

自学编程的人成千上万,为什么坚持下来的没几个?

在互联网职位薪资水涨船高的现下,越来越多的人都对此跃跃欲试,想要通过学习进入这个新兴的朝阳行业。但或因为现下工作,或因为各种压力,多数人并不能果断投入,自学成了常见的学习方式! 但是据数据显示&…