“
本文并非硬核技术文章,只是一些小的感想;也不是具体对某一技术选型做拆解分析,毕竟据我了解,国内用springcloud做开发的大厂几乎没有。
”
01 Eureka漫谈
做Java开发的同学们想必都对Eureka非常熟悉吧,一个用于服务注册和发现的组件,在我看来相当于整套微服务架构的大脑。提起Eureka的研发公司Netflix(奈飞),大家可能或多或少听说过一部叫做《纸牌屋》的美剧,就是这家公司出品,说到底Netflix实际上是一家影视公司(和正宗的互联网企业相比还是有些许的这方面的不靠谱)。
在某年某日,这家公司突然宣布Eureka2.0的开源计划“不再继续”,这里要注意一点,官方github主页上标明的是开源计划不再继续,并不意味着这个项目凉了。
不过大家还是要抱有乐观的心态,毕竟官方只是说了discontinued,还有可能继续是不是。毕竟像阿里的dubbo也有经历过这样的挫折的经历,现在能做的也就是等待了,好在Eureka1.0还在一直维护着。
其实Eureka2.0与接下来要出场的几位来讲,这点变化就是小巫见大巫了。
想当年,JDK8在某个版本的更新变成了OTN协议,意味着企业就不能继续在商用的环境下用到更新的内容,当然给oracle(甲骨文公司)交点份子钱就可以用了;
Zuul2.0也是Netflix公司的一款产品,作为SpringCloud大家庭里的网关层组件,其开源之路也是一波三折~~~,SpringCloud官方看着Netflix貌似有点靠不住,所以就下决心研发了另外一套网关层组件——Gateway;
Netty5的测试性能根本没有达到设计之初的预期,于是全体上下白忙活一场,官方索性直接宣布放弃;
之前声势浩荡的第一款图形化数据库Neo4J有一天直接宣布企业版本闭源;
有传言Facebook打算修改React开源协议;
还有Android3.0....
这些难兄难弟们的情况不比Eureka2.0要好,作为一个底层的开发人员,好像并不能对这些变化做点什么,只能默默地说一些心底话“你XXX”
所以这对我们在技术选型时有什么启发呢?
1. 人们总爱追求新技术,但也不能为了新而新,毕竟有太多东西出道即巅峰。
2. 社区的开源力量,以及商业公司的支持力度。这决定了一项技术在未来的生命活力。换成人话就是在Apache基金会的顶级项目SpringCloud和网友自己开发的服务治理组件来搭建服务中做选择,答案不言而喻。
3. 团队学习成本。团队成员现有技术栈的匹配程度和学习速度也要考量,这里水深,要小心一不留神就溺水了。
4. 替换成本,运维成本。