流量治理选开源还是自研,有点小纠结

当你看到这篇文章时,恭喜你,已经了解了为什么要做流量治理以及目前主流的限流算法和原理。没看过这个系列前两篇文章的可以回头翻翻历史文章。

当你决定要做流量治理这件事时,必定会遇到一个比较纠结的问题,就是用开源还是自研呢?

今天我们从下面几个方面来分析下,什么时候该自研,什么时候该直接用开源的成果。

公司规模

规模比较大的公司,业务稳定。有成本和能力进行自研,主要目标是系统的稳定性。这种公司一般都会选择自研,或者在开源的基础上进行深度定制开发来满足内部的需求。

当然并不是规模大就一定会自研,我讲的只是这个规模的公司适合自研。当然也有公司规模大,但是研发比较少的,比如传统企业,也有研发人员,但是不多。对于IT类的需求也不高,可能就是一些内部系统或者面向用户的系统,但是流量并不高。

这类的公司有自研成本,可以招人,但是没必要自研。因为核心业务不在这块,没必要投入更多的成本。已有的研发团队可以直接使用开源的框架来实现。

研发团队规模

研发团队规模比公司规模更重要,公司规模大不一定研发团队会大,公司规模小,有可能研发占比很高。

我认为研发团队达到了500人以上的时候,就可以选择自研了。

首先具备自研的能力,有个20来人,就可以成立三个基础架构的小组,每个小组负责几块技术方向的研发和维护就够了。

其次,这个规模的研发团队,说大也不大,说小也不小。肯定需要有基础架构来统一维护中间件,否则各个业务团队自己搞,体系就太乱了。

同时,有这么多研发,证明业务已经起来了,已经不再是探索的阶段,而且肯定是在向前发展的,所以业务团队需要专心做功能开发,基础建设相关的就需要有专门的团队来负责。同时也为后续扩张奠定了技术底层的基础。

是否满足当前需求

如果你们用开源的目前无法满足需求,无论团队大小,都需要考虑自研了。或者用市场上提供的付费的服务。自研的好处在于源码自己有,想加功能自己改。

自研并非要从零开始,可以基础已有开源的项目进行开发,这样成本相对来说要低点。

总结

优先用开源,实在有特殊的需求无法满足时,可以考虑基于开源二次开发,减少成本。

初期,可以考虑将底层框架统一封装,此时可以用开源的,等到需求无法满足或者公司有自研能力了,直接替换之前的实现,对业务方尽量透明。

对于流量这块来说,大部分公司压根不需要流量治理,只需要预备限流功能即可,所以很多时候开源的就能够满足需求,没必要自研。

posted @ 2021-09-14 14:10  架构摆渡人  阅读(95)  评论(0编辑  收藏  举报