阿里巴巴 为啥用Java重写Storm? 举报 理由 举报 取消 阿里巴巴为啥要用Java实现一个Storm,是因为Clojure的学习成本太高吗? 2018年1月22日 10 条回复 1421 次浏览 Apache,Java,Storm
回复 ( 10 )
因为阿里的java开发多,就这样。
1. 从非技术角度,对于阿里这个级别的大公司来说有时候重新造一个轮子很有必要,使用自己熟悉的java开发便于维护以及bugfix, clojure毕竟太小众,storm在阿里当初使用时也不是很成熟,出个bug要么等社区修复要么自己啃clojure,实在蛋疼。
2. 技术角度看 alibaba/jstorm · GitHub 里面得ppt introduction,里面提了不少storm得缺点。
不重新造个轮子难道等patch写好又合不回社区最后自己吞粪自尽吗。
用哪种语言无所谓,但是必须重新造个拥有绝对控制权的轮子,才能想写多少坨代码就写多少坨代码,想接入多少繁复纷攘的内部系统就接多少。
因为java程序员太多了!
按照阿里的规律过不了一年他们又会用 C 重写 storm 的
为了kpi,我同事说的
根本原因是, clojure太小众,上手成本太高,阻碍了社区的发展。曾经就有contributor说只要storm内核换成java,他就会回来做contributor的。因为社区发展缓慢,完全跟不上阿里业务的需求。所以就用java改写了。
其实社区也早就意识到这个问题了,所以现在apache接受了jstorm的捐赠,storm社区正在全力做merge jstorm的事情,将基于jstorm core替换掉clojure内核,并且会加入jstorm很多优秀的功能。merge完成后,storm会完全基于java,到时候社区也会更加活跃吧。这也算是jstorm回馈社区做的一些事情吧。
没事做了,弄点KPI
jstorm起源于支付宝,发展于中间件。语言层面而已阿里还是蛮喜欢把非java的东西转成java的。比如kafka变成了metaq. 当然随着业务的发展会做一些新的功能。
storm社区发展总体的不理想的,12、13年用的还是蛮多的,后来感觉作者自己从twitter去创业之后社区缺乏主心骨。
clojure语言开始做storm的觉得也挺蛋疼,但是写多了觉得挺好的。
要给jstorm点赞的,坚持这么多年挺不容易的~。
你知道阿里里有多少闲人在找项目做吗?他们可以有时间拿所有语言重写一个Storm