使用开源项目的正确姿势,都是血和泪的总结!

浏览:
字体:
发布时间:2016-03-03 08:26:40
来源:

软件开发领域有一个流行的原则:DRY,Don’t repeat yourself,我们翻译过来更形象通俗:不要重复造轮子。开源项目主要目的是共享,其实就是为了让大家不要重复造轮子,尤其是在互联网这样一个快速发展的领域,速度就是生命,引入开源项目,可以节省大量的人力和时间,大大加快业务的发展速度,何乐而不为呢?

然而现实往往没有那么美好,开源项目虽然节省了大量的人力和时间,但带来的问题也不少,相信绝大部分同学都踩过开源软件的坑,小的影响可能是宕机半小时,大的问题可能是丢失几十万数据,甚至灾难性的事故是全部数据都丢失。

除此以外,虽然DRY原则摆在那里,但实际上开源项目反而是最不遵守DRY原则的,重复的轮子好多,尤其是歪果仁,一看哪个开源方案不爽,自己就吭哧吭哧搞一个差不多的:你有MySQL,我有PostgreSQL;你有MongoDB,我有Cassandra;你有memcached,我有redis;你有Gson,我有Jackson;你有Angular,我有React。。。。。。总之放眼望去,其实相似的轮子很多!相似轮子太多,选择就是让人头疼的问题了。

怎么办?完全不用开源项目几乎是不可能的,我们需要更加聪明的去选择和使用开源项目。形象点说:不要重复发明轮子,但要找到合适的轮子!你开的是保时捷,可别找个拖拉机的轮子。

接下来我将根据加入UC 5年与开源项目有关的经历,总结出一些“如何正确使用开源项目”的经验和教训。有的项目是我亲身经历,有的是我接触到的,有的是我观察的,其中部分描述细节可能并不完全准确,大家可以结合自己的经历一起探讨。

以下内容主要分3个部分进行描述,分别是“选”、“用”、“改”。

选:如何选择一个开源项目 【聚焦是否满足业务】

我们在选择开源项目的时候,一个头疼的问题就是相似的开源方案较多,而且后面的总是要宣称比前面的更加牛逼。我们在选择的时候有点无所适从,总是会担心选择了A方案而错过了B方案,或者反过来。这里我们的经验是聚焦于是否满足业务,而不需要过于关注开源方案是否牛逼。

案例:当时尝试一个社交类业务时,我们发现了TT(Tokyo Tyrant)这个开源方案,觉得既能够做缓存取代Memcached,又有持久化存储功能,可以取代MySQL,很牛逼,很高大上,于是就在业务里面大量使用了。但后来的使用过程让人很蛋疼,主要表现为:

1ï¼

>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();