天天看點

流量治理選開源還是自研,有點小糾結

當你看到這篇文章時,恭喜你,已經了解了為什麼要做流量治理以及目前主流的限流算法和原理。沒看過這個系列前兩篇文章的可以回頭翻翻曆史文章。

當你決定要做流量治理這件事時,必定會遇到一個比較糾結的問題,就是用開源還是自研呢?

今天我們從下面幾個方面來分析下,什麼時候該自研,什麼時候該直接用開源的成果。

規模比較大的公司,業務穩定。有成本和能力進行自研,主要目标是系統的穩定性。這種公司一般都會選擇自研,或者在開源的基礎上進行深度定制開發來滿足内部的需求。

當然并不是規模大就一定會自研,我講的隻是這個規模的公司适合自研。當然也有公司規模大,但是研發比較少的,比如傳統企業,也有研發人員,但是不多。對于IT類的需求也不高,可能就是一些内部系統或者面向使用者的系統,但是流量并不高。

這類的公司有自研成本,可以招人,但是沒必要自研。因為核心業務不在這塊,沒必要投入更多的成本。已有的研發團隊可以直接使用開源的架構來實作。

研發團隊規模比公司規模更重要,公司規模大不一定研發團隊會大,公司規模小,有可能研發占比很高。

我認為研發團隊達到了500人以上的時候,就可以選擇自研了。

首先具備自研的能力,有個20來人,就可以成立三個基礎架構的小組,每個小組負責幾塊技術方向的研發和維護就夠了。

其次,這個規模的研發團隊,說大也不大,說小也不小。肯定需要有基礎架構來統一維護中間件,否則各個業務團隊自己搞,體系就太亂了。

同時,有這麼多研發,證明業務已經起來了,已經不再是探索的階段,而且肯定是在向前發展的,是以業務團隊需要專心做功能開發,基礎建設相關的就需要有專門的團隊來負責。同時也為後續擴張奠定了技術底層的基礎。

如果你們用開源的目前無法滿足需求,無論團隊大小,都需要考慮自研了。或者用市場上提供的付費的服務。自研的好處在于源碼自己有,想加功能自己改。

自研并非要從零開始,可以基礎已有開源的項目進行開發,這樣成本相對來說要低點。

優先用開源,實在有特殊的需求無法滿足時,可以考慮基于開源二次開發,減少成本。

初期,可以考慮将底層架構統一封裝,此時可以用開源的,等到需求無法滿足或者公司有自研能力了,直接替換之前的實作,對業務方盡量透明。

對于流量這塊來說,大部分公司壓根不需要流量治理,隻需要預備限流功能即可,是以很多時候開源的就能夠滿足需求,沒必要自研。