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

  • Eureka 2.0 开源工作宣告停止,继续使用风险自负
  • 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?

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

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

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

可以看到,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实现了通用抽象,允许我们使用自己喜欢的服务发现组件!
  • 悲观是好事,说明有危机感,但是过度解读,消费开发人员的情怀就过分了。

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

  1. 软件测试已经不吃香了?Sorry,职业技能教育的大幕才刚刚拉开,别再人云亦云!

    最近总是能听到这样一种言论,说今年感觉软件测试已经没那么香了,那到底是不是这样呢? Emmmmm,相信持这种观点的不止一两个人,甚至还出现了不少劝退的声音.对此,我们又该如何理性看待? 要我说,关键还 ...

  2. 服务器状态显示down,Eureka心跳健康检查机制和Spring boot admin 节点状态一直为DOWN的排查(忽略某一个节点的健康检查)...

    运行阶段执行健康检查的目的是为了从Eureka服务器注册表中识别并删除不可访问的微服务,Eureka 服务器并不是向客户端发送心跳请求,而是反过来,Eureka 客户端将心跳发送到Eureka服务器, ...

  3. eureka 其它语言_SpringCloud之Eureka-Go语言中文社区

    一.使用方法: 1.添加maven依赖 org.springframework.cloud spring-cloud-starter-netflix-eureka-server 版本一般交由sprin ...

  4. 高可用Eureka注册中心配置说明(双机部署)

    目  录 1. 高可用EureKa注册中心示意图 2. Eureka实例相互注册配置 3. 微服务注册到Eureka配置 4. 启动步骤及配置成功检查 5. 说明事项 1. 高可用EureKa注册中心 ...

  5. spring cloud服务发现组件Eureka详解

    Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务.Spring Cloud将它集成在其子项目spring-cloud-netflix中,以实现Spring Cloud的服务 ...

  6. SpringCloud学习之:eureka整合seata

    前提:准备一个eureka项目 下面都是在eureka项目的基础上做的整合 步骤1:下载安装seata-server客户端 1.1.下载seata客户端并解压 Git官方下载地址:https://gi ...

  7. 简历上如果出现过于高大上的项目,反而过犹不及:再论如何通过项目引出技术

    我看了前几天些的博文,分析若干没面试机会和没体现实力的简历,就想起了做技术面试官时的一些往事. 我见过有些简历,上面列出的项目描述非常高大上,比如用到了xx机器学习技术,或者在一个项目里基本用全了分布 ...

  8. 谈谈我对服务熔断、服务降级的理解 专题

    伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前(管你接受不接受),其实大多数概念以前就有,但很少被提的这么频繁(现在好像不提及都不好意思交流了). 想起有人总结的一句话,微服务架构的特点 ...

  9. IDEA跟Eclipse险些打一架。Maven:都住手,我来一统天下

    前言 你好,我是A哥(YourBatman). 做Java开发这么久了,是否曾经疑问过: 为何项目中的xxx.iml..idea文件夹明明起到重要作用,却不能被提交到git仓库,否则工资容易受损呢? ...

  10. SpringCloud 入门教程(五): Ribbon实现客户端的负载均衡

    接上节,假如我们的Hello world服务的访问量剧增,用一个服务已经无法承载, 我们可以把Hello World服务做成一个集群. 很简单,我们只需要复制Hello world服务,同时将原来的端 ...

最新文章

  1. USACO Section 1.5 Checker Challenge
  2. MapReduce-流量统计求和-排序-JobMain代码和测试运行
  3. jvm垃圾回收之JVM GC算法
  4. 《设计模式详解》创建型模式 - 原型模式
  5. 日常生活开支记账明细_做好这3点,不再白记账
  6. 有哪些优秀好用的数据采集软件?这3款你都用过吗?
  7. python爬虫-book118
  8. 如何在教学中利用计算机网络,教师论苑(二十二)| 利用XMind思维导图优化计算机网络基础课堂教学...
  9. SpringBoot项目中使用CXF发布和调用webservice接口
  10. 缓存投毒 -- 学习笔记
  11. LaTex\TexStduio设置参考文献Bibtex
  12. ps2019安装破解
  13. python梨视频爬虫下载,反反爬
  14. Mac Cordova iOS配置和常见问题
  15. CVE-2022-22916
  16. c聊天室系统asp ajax,利用AJAX和ASP.NET实现简单聊天室
  17. 仿xl9页面幻灯片特效—HTML模板
  18. 走自己的路吧......
  19. 基于Java音乐网站的设计与实现
  20. 什么是Ubuntu PPA以及为什么要用它[技术说明]

热门文章

  1. 【大云制造】公有云产品及解决方案V4.0——全新面貌,重新出发
  2. 【图像隐写】基于matlab DWT+DCT+LSB数字水印隐藏提取比较【含Matlab源码 1623期】
  3. 【太阳辐射预测】基于matlab BP神经网络太阳辐射预测【含Matlab源码 883期】
  4. 【图像配准】基于matlab GUI光流场模型图像配准【含Matlab源码 831期】
  5. 【数据分析】基于matlab伊藤微分方程布朗运动分析【含Matlab源码 261期】
  6. python事件驱动编程_初识Twisted:事件驱动编程
  7. 端到端车道线检测_如何使用Yolov5创建端到端对象检测器?
  8. 计算机中答案没有小数怎么办,嵌入式编程中计算机是如何存储小数的
  9. mysql建表指定表空间_Oracle中建表和指定表空间
  10. html字体溢出问题,CSS教程:关于文字溢出问题的研究