关于Eureka 2.x,别再人云亦云了!

简介: 原文:http://www.itmuch.com/spring-cloud/eureka-2-news/ ,转载请说明出处。最近朋友圈被Eureka 2.x停止开发的新闻刷屏,例如:Eureka 2.0 开源工作宣告停止,继续使用风险自负凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?关于第二篇,我想说,这是在造谣。

原文:http://www.itmuch.com/spring-cloud/eureka-2-news/ ,转载请说明出处。

最近朋友圈被Eureka 2.x停止开发的新闻刷屏,例如:

关于第二篇,我想说,这是在造谣。

不妨来看一下官方的言论:

The open source work on eureka 2.0 has been discontinued. The code base and artifacts that were released as part of the existing repository of work on the 2.x branch is considered use at your own risk.

来自:https://github.com/Netflix/eureka/wiki

看清楚官方的言辞:官方只是说Eureka 2.0的开发被停止了,如果您将Eureka 2.0分支用在生产,将后果自负!

看起来挺吓人的。但真的那么可怕吗?

关于Eureka版本

Eureka 2.x从来就没有正式发布过! 目前最新的稳定版本是1.9.3。笔者第一次看到Eureka 2.0的文章是2016年,那时候官方宣称要开发Eureka 2.0,使用小批量的消息推送替代Eureka 1.x中的纯心跳机制(基于定时任务)的消息传递。

但是两年过去了,Eureka 2.0最终没有孵化出来,但是绝不代表Eureka的闭源!官方依然在积极地维护Eureka 1.x!

不妨来看一下Eureka的发布历史:https://github.com/Netflix/eureka/releases

image

可以看到,Eureka的版本维护相当勤快!

谈谈2.x的流产

就笔者的研究来看,官方关闭2.x分支至少2年了。只是最近可能考虑到会有团队会将Eureka 2.x用于线上,甚至基于2.x开发,所以友情提示一下。

但是问题是:大部分用户都是因为Spring Cloud才接触到Eureka,Spring Cloud使用的是Eureka 1.x!退一万步,你会在自己项目中使用一个非正式发布的版本吗?

在我来看,这就是个友情提示,连个新闻都算不上。宣布停止开发已经停止2年的分支,还能算是新闻吗?

不是个例

事实上,这不是Netflix(开源Eureka的公司)第一次跳票了。

2016年,Netflix宣布将在16年底或17年初开源Zuul 2.x,结果写完发现太复杂了,而且性能提升也没有达到预期。于是官方选择完全重构!知道2018年1月,Zuul 2.x才被开源,2018年4月才发布到中央仓库!

https://github.com/netflix/zuul/tree/1.x

A lot of people are asking about the status of Zuul 2.0. We are actively working on open sourcing it and with it, likely many filters that we use at Netflix. Yes, we realize it's been a long time coming. When we initially wrote Zuul 2.0, we heavily relied on RxJava to string filters together with Netty. This ended up adding a lot of complexity to the Zuul 2.0 core as well as made it quite difficult to operate and debug. We didn't think it was right to release Zuul 2.0 like this. So we spent a lot of time refactoring out this pattern, using Netty constructs directly. This took the better part of a year to complete and deploy safely within Netflix. So this work is now done. We are working towards releasing this much better, easier to understand, and more reliable Zuul 2.0. Obviously Netflix's business priorities take precedence to our open sourcing efforts, so as we get free time we will put efforts to open sourcing! Stay Tuned.

Current Zuul 2 development is on the 2.1 branch

其他项目的类似情况

不妨多聊聊。相信大家都很熟悉Netty,或者至少听说过。

Netty也有类似的情况。Netty团队开源Netty 5后,发现代码复杂度过高,同时性能提升也并没有预期中的那么好,于是停止了Netty 5的开发。

那是不是说Netty 5闭源了?

退一万步

退一万步讲,Eureka即使闭源,Spring Cloud也不至于凉凉。Spring Cloud支持使用Eureka、Zookeeper、Consul实现服务发现的能力。

从Eureka切换成Zookeeper只需要改个依赖,加两行配置就可以了。

总结

总而言之:

  • Eureka没有闭源,是Eurkea 2.x分支不再维护!
  • Spring Cloud并不强依赖Eureka,Spring Cloud Commons实现了通用抽象,允许我们使用自己喜欢的服务发现组件!
  • 悲观是好事,说明有危机感,但是过度解读,消费开发人员的情怀就过分了。
目录
相关文章
|
搜索推荐 Java 应用服务中间件
【Maven】IDEA部署配置Maven项目教程,IDEA配置Tomcat(2019.3.3)(2023.1.3)
当涉及到软件开发和项目管理时,使用一个可靠的构建工具是非常重要的。Maven是一个广泛使用的构建工具,它为Java项目提供了一种简化的构建过程和依赖管理。 在本文中,我们将探讨如何部署Maven并开始使用它来构建您的项目。我们将介绍所需的步骤,并向您提供一些有用的提示和建议。
【Maven】IDEA部署配置Maven项目教程,IDEA配置Tomcat(2019.3.3)(2023.1.3)
|
存储 虚拟化 网络架构
带你读《企业私有云建设指南》之三:企业需求分析和私有云资源规划及设计
企业私有云建设需求旺盛,在架构设计和技术选型过程中应该结合自己公司的实际情况,因地制宜。本书给了很好的经验分享和思路,虽然是本技术书,但文笔流畅、平实细致,内容上也涉及了私有云建设的很多方面,值得细细阅读和品味!
|
Kubernetes 搜索推荐 前端开发
containerd 镜像构建工具 -- nerdctl 和 buildkit
containerd 镜像构建工具 -- nerdctl 和 buildkit
7900 0
|
Oracle Java 关系型数据库
Oracle jdk 的国内下载镜像
Oracle jdk 的国内下载镜像
55409 0
|
12月前
|
前端开发 JavaScript API
React 搜索组件 Search Box
本文介绍了如何在 React 中实现一个搜索组件,从基础的输入框和按钮创建开始,逐步讲解样式美化、常见问题及易错点的解决方法,包括输入延迟、空值处理、错误处理和状态管理等,帮助开发者构建高效、可靠的搜索功能。
594 4
|
SQL JSON 安全
Spring Authorization Server OAuth2授权服务器配置详解
Spring Authorization Server OAuth2授权服务器配置详解
3918 0
|
人工智能 前端开发 搜索推荐
人工智能(AI)和低代码开发平台
人工智能(AI)和低代码开发平台
300 1
|
前端开发 搜索推荐 数据可视化
阿里低代码引擎LowCodeEngine正式开源
低代码引擎是一款为低代码平台开发者提供的,具备强大扩展能力的低代码研发框架。由阿里巴巴前端委员会、钉钉宜搭联合出品。使用者只需要基于低代码引擎便可以快速定制符合自己业务需求的低代码平台。
阿里低代码引擎LowCodeEngine正式开源
|
XML Java 数据库连接
mybatis和mybatiplus中Error attempting to get column ‘xx‘ from result set
mybatis和mybatiplus中Error attempting to get column ‘xx‘ from result set
526 0
|
前端开发 JavaScript
umi 中useSearchParams 的使用样例
在umi中,`useSearchParams`是一个React Hook,用于获取和操作URL查询参数。以下是一个使用`useSearchParams`的样例: 首先,确保你已经安装了umi和react-router-dom。 1. 在页面组件中使用`useSearchParams`来获取和操作URL查询参数: ```javascript import { useSearchParams } from 'umi'; export default function SearchPage() { const [searchParams, setSearchParams] = useSea
1517 2

热门文章

最新文章