昨天看阿里的MetaQ文档,感觉对于消息系统的理解,比起大多数文章都要出色得多了,有些分析也非常的有实用性。估计还有很多优秀的项目没被发掘,于是就调研了一下,国内一些大公司的开源项目。
阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分。有很多重量级的项目,例如LVS、Tengine,或者很有实践价值的中间件,例如MetaQ(分布式消息系统)、dubbo(RPC框架)、cobar(数据库中间件),或者是Java世界的工具,例如druid、fastjson。都说国内Java公司的技术架构大部分来自阿里系,我觉得一方面来自阿里员工,一方面也可以来自阿里的开源项目。
地址有几个:
http://code.alibabatech.com/wiki/dashboard.action
https://github.com/alibaba
阿里的前端也挺活跃的,比较有名的就是seajs和kissy了。
腾讯和百度都只有前端团队有不少的开源项目(可能有个人或者一些团队的项目,没有找到)。
js我也不熟悉,这个是腾讯前端团队的github,比较活跃:
https://github.com/AlloyTeam
有webqq的前端框架jx,一个图片处理工具AlloyPhoto,还有一个跨平台的抓包工具Rythem。
https://github.com/baidufe
主要是百度的前端框架Tangram。这个github近一年没有提交了,我提过一个issue,没有人理我,应该是没人维护的了。
https://github.com/ecomfe
最近开源的echarts。ecomfe这个团队倒是在github挺活跃的,包括一些开发的管理都在上面。
网易有一些挺不错的开源项目,例如tcpcopy。
最近比较火的是基于node的游戏框架pomelo。
官方的github:https://github.com/netease
新浪好像官方对待开源的态度比较不明确,连个官方地址都没有,但是有几个比较有名的开源项目都来自新浪,比如memcachedb和鸟哥的yaf。新浪在国内的技术产出还是挺多的,推进了php和redis的应用。
搜狐最近这几年技术方面的声音比较少,特别拉出来是因为最近在看的Jafka,项目写的不错,包名用的是com.sohu。看到这个,才知道搜狐也是Java阵营的一员。
作为一个文艺公司,豆瓣的开源项目相当多。豆瓣的主基因是python,有一个spark(类似hadoop的框架)的python实现dpark(感谢@吴延赞 纠正)。
https://github.com/douban
说到最后,不妨说说我在的公司大众点评(先厚颜无耻的认为是大公司吧!)。点评架构中间件的代码都托管到了github上https://github.com/dianping,可以说是开源的,但是不怎么更新文档,也有些没有从公司业务中脱离出来,几个框架之间属于完全耦合的关系。直接拿来用是不用想了,如果有兴趣,倒是可以从中掘到点有价值的东西。
比较重要的是RPC框架pigeon,消息队列swallow,基于zookeeper的配置管理平台lion,还有Java业务监控工具cat,还有前端框架neuron。
还有一些新加入到开源行列的公司,例如58的Argo、360的Atlas、包括DNSpod的DNSpod-sr,虽然来头很大,动辄每天处理几亿请求,但是看github上的commits,寥寥无几,更多的是摆姿态而已。看源码学习学习可以,应用到生产环境,估计是不太敢的。
统计下来,很多公司其实都只有前端项目开源比较活跃。这个能理解,毕竟前端相对来说,开源成本比较低。但另一个角度来看,虽然大公司的前端也很厉害,但是其实前端强不强跟公司规模没有必然的关系,小公司的前端也可能做的很棒。而支撑如此大的用户群和访问量的后端项目,这是没到一定规模的公司没法比的,这些东西可能更有学习价值一点。
当然,公司的任务总是埋头赚钱,开不开源都无可厚非。我在这里不过是整理一些学习资料而已。因为之前关注不多,难免会有疏漏,以后会继续补充。