大连做网站
首页 > 建站知识 > 大连网站建设:如何正确使用开源项目”的经验和教训

大连网站建设:如何正确使用开源项目”的经验和教训

2016-12-21

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

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

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

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

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

1)不能完全取代MySQL,因此有两份存储,设计的时候每次都要讨论和决策

2)功能上看起来很高大上,但相应的bug也不少,而且有的bug是致命的,例如所有数据不可读,后来是自己研究源码写了一个工具才恢复了部分数据。

3)功能确实牛逼,但需要花费较长时间熟悉各种细节

后来我们反思和总结,其实当时的业务Memcached + MySQL完全能够满足,且大家都熟悉,当时的业务完全不需要引入TT。

简单来说:如果你的业务要求1000 TPS,那么一个20000 TPS 和50000 TPS的方案是没有区别的。有的人可能会担心我TPS不 断上涨怎么办?其实不用担心,我们的架构会不断演进的,等到真的需要这么高的时候我们再来架构重构,记住:不要过早优化,过早优化是万恶之 源 —— 《UNIX编程哲学》

聚焦是否成熟】

很多新的开源项目往往都会声称自己比以前的项目更加牛逼:性能更高、功能更强、引入更多新概念。。。。。。看起来都很诱人,但实际上都有意无意的隐 藏了一个负面的问题:都更加不成熟!不管多牛逼的程序员写出来的项目都会有bug,千万不要以为作者牛逼就没有bug,Windows、Linux、 MySQL的开发者都是顶级的开发者吧,一样很多bug。

不成熟的开源项目应用到生产环境,风险极大。轻则宕机,重则宕机后重启都恢复不了,更严重的是数据丢失都找不回了。还是以上面提到的TT为例:我们 真的遇到异常断电后,文件被损坏,重启也恢复不了的故障,还好当时每天做了备份,于是只能用1天前的数据进行恢复,但当天的数据全部丢失了。后来我们花费 了大量的时间和人力去看源码,自己写工具恢复了部分数据,还好这些数据不是金融相关的数据,丢失一部分问题也不大,否则就有大麻烦了。
 
本文来源于大连网站建设公司、大连网站设计制作公司与大连网站推广公司-新图闻科技公司!
大连网站建设,大连网站设计,大连网站制作,大连网页设计,大连网站建设公司 ,大连网站设计公司,大连网站制作公司,大连网页设计公司,大连手机网站建设,手机网站建设,大连网站推广,网站推广,大连建网站,大连做网站,大连商城网站建设,集团网站建设,网站建设,高端网站建设,品牌网站建设,大连平台网站建设,大连响应式网站建设,大连微信网站建设,大连微商城网站建设,大连微信营销,大连网站优化,大连网络公司。