为什么架构于开源之上?

简介:


1. 节约成本

开源基础架构有大量的开发者来维护,讨论改进,反馈。假如软件的质量用人年工作量来衡量,开源的软件积累了很多开发者的工作,必然比一个小组独立完成的软件质量好。很多东西可以直接复用。并且有大量的用户来测试同一套基础框架,节约了测试成本。

2. 迭代更快

由于有大量的用户反馈,最新的技术趋势往往在开源软件里被迅速加上。而独立软件开发者可能没有这样的动力。比如,Rails 中增加的 CoffeeScript 支持,asserts 聚合支持。

3. 架构完整

每个开发者或者架构师都有自己的盲点。因为大型软件是个系统工程,少量的人难以覆盖所有的点。象很多国内大型网站暴出的 XSS 漏洞。可能仅仅是知识面的问题和重视程度的问题。开源软件则有擅长各个方向的开发者共同决策,改进。

4. 技术支持

文档维护和后期的技术支持可能是比开发本身更耗费成本的工作。开源软件往往有大量的人分享文档和写博客。同样的需求和问题,大部分情况下别人已经遇到过,并且有解决方案。而内部开发文档维护极难,培训和沟通也非常耗费时间。

5. 架构于开源的”弊端”

开源基础框架的弊端是它过于庞大,弄清楚所有细节是非常耗费时间的。所以经常会遇到问题,而且需要重新研究如何处理。相对于从零架构我们了解所有细节,开源产品更像面对和使用一个黑盒。不过好在很多人在用就已经证明了它的正确性。

6. 选择架构于零和架构于开源

假如团队时间和资源相对缺乏,相关经验比较少,架构于开源可能是最好的选择。节约了开发成本,就可以将更多精力放到其他方面。

如果架构师有足够经验熟悉整个系统的各个方面,有足够精力追踪所有技术趋势,而且所建系统很简单,或者所建系统跟现有开源产品差别很大,则可以选择从零架构。不过这”很难”。有时候群策群力的结果比一个专家更好。


来源:51CTO

相关文章
|
23天前
|
调度
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(二)
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构
|
6月前
|
缓存 运维 NoSQL
GitHub开源大厂缓存架构Redis优化的文档被警告,900页全是干货
掌握Redis对Java程序员来说很有必要了。实际上,很少有人真的掌握了Redis的全部技巧,有些甚至连面试题都很难应付。那么,如何全面系统地学习Redis呢?
互联网大厂一致好评!神作《凤凰架构》仅开源3小时,竟遭受哄抢
给大家分享一本好书:周志明老师的 《凤凰架构:构建可靠的大型分布式系统》,现在网上还没有开源版本!阿嘴会在文末附电子版免费下载方式。
|
6月前
|
Cloud Native Java 微服务
GitHub开源3小时,一直被哄抢!800页全彩《微服务架构深度解析》
阿嘴又来给大家分享好书了:王佩华老师的 《微服务架构深度解析:原理、实践与进阶》,也是网上还没开源出来的一本好书!阿嘴会在文末附电子版免费下载方式。
|
23天前
|
程序员 Linux
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(三)
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构
|
23天前
|
Linux
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(一)
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构
|
6月前
|
缓存 算法 架构师
阿里P9架构师终于把毕生心血而成的分布式高可用算法笔记开源了
说在前面的话 分布式系统无处不在。 一台计算机内部多个互联的处理器组成了一个分布式系统,它们通过“一致性缓存”算法使每个处理器核心看到相同的数据。近三十年来,随着互联网的发展,越来越多的互联网后台系统采用计算机集群的方式来应对海量请求和数据的需求,这个计算机集群也是分布式系统。 为了简化分布式系统的开发,出现了很多为开发者提供分布式框架的开源项目,例如Apache基金会旗下的ZooKeeper项目就是一个应用广泛的分布式框架。 同时,国内也有很多关于如何使用这些分布式框架来搭建应用的书籍,它们极大地推动了分布式系统在国内的应用。我们不仅要知道如何使用这些现成的分布式框架来搭建应用,而且应
|
7月前
|
消息中间件 缓存 Java
GitHub下载热榜,阿里技术官限时开源三份百亿级架构系统手册
在如今是属于高流量的时代,不知道各位了解高并发吗?今天给大家带来的是出自阿里大牛手写三份绝密手册,《百亿级并发系统设计》+《微服实战 +亿级流量网站架构核心技术》
240 0
|
8月前
|
敏捷开发 架构师 Java
GitHub上线重量级分布式架构原理设计笔记,开源的东西看着就是爽
在分布式系统中,一次业务处理可能需要多个应用来实现,比如用户发送一次下单请求,就涉及到订单系统创建订单,库存系统减库存,而对于一次下单,订单创建与减库存应该是要同时成功或者同时失效,但在分布式系统中,如果不做处理,就很有可能订单创建成功,但是减库存失败,那么解决这类问题,就需要用到分布式事务……
|
5月前
|
架构师 Cloud Native Java
GitHub竟开源阿里内部java架构师涨薪充电路线图,3小时标星28k+
一份java架构师涨薪充电路线图,内容从Java核心讲起,包含经典框架源码、分布式微服务架构筑基、微服务架构之NetFilx体系、微服务架构之Alibaba体系、微服务架构下的性能优化、云原生以及虚拟化技术、Spring Cloud Alibaba项目实战,跟LZ一起看下去。