連絡方式:QQ:2747044651 網址
2017年我們連絡方式:QQ:2747044651 網址公司需要快速迭代一款連絡方式:QQ:2747044651 網址產品,當連絡方式:QQ:2747044651 網址時,我們團隊的後端架構是spring mvc ,該架構結構清晰,上手快,但是由於我們的產品迭代速度快,底層資料庫操作介面變動頻繁,導致service層工作量巨大,不勝其煩。另外,隨著項目的成長,代碼量越來越大,項目啟動越來越慢,嚴重影響了開發調試速度。
在這種情況下,我們希望尋找一種新的架構或程式設計語言,我們期望他具備調試簡單,上手快,啟動速度快,保密性高,以及適用於高並發及web編程,效能優越等優點。當時手上備選架構有spring boot和golang,綜合比較,在巨大的遺憾中,我們選擇了springboot,相關選型參考資訊如下。
1、從功能滿足度比較
在啟動該產品研發時,我們梳理了自己的需求,主要在三個方面,一是支援高效能的restful api服務,二是支援web頁面服務,三是支援快速跌代。Restful介面及效能方面,spring boot 和golanbg 都支援,且效能區別不大。頁面服務方面,spring boot 封裝了springmvc,相對成熟度等級更高,並且由於大量javaer的長期積累,該架構已經非常成熟;而go lang 方面,也有成型的架構,如beego,但是該架構使用度並不高.究其原因,是因為beego沒有形成像php架構那樣的生態,比如行業內php開源架構thinkphp,目前基於該架構已經形成了大量的cms,商城,erp,管理等軟體,這也是我為什麼要寫作該書的原因,我希望通過寫作該書,讓更多的人認識到go語言,並參與到golang 的生態搭建中來。迴歸正題,功能滿足度,spring boot更勝一籌。
2、學習成本
我們需要考慮到團隊的學習成本,當時團隊已經非常熟悉spring mvc架構,如果切換spring boot,學習成本幾乎為零,但是若切換到golang,學習成本相對較高。另外,網路上關於golang架構,推薦並不多,比如gin,decho,以及beego,我們重點瞭解了beego架構,知乎上爭論頗多。這些,都讓我們對是否使用go語言,心裡預期上打了一些折扣。
3、項目遷移成本
在選擇架構的時候,我們還考慮了我們的整合成本。我們的客觀情況是:公司的技術棧以及這些技術棧形成的項目積累,幾乎都是java,如果我們切換到golang,那麼產品營運成本將相對較高,另外由於目前行業類golang 從業者較少,如果我們採用go,將人為地為我們的項目團隊組建帶來巨大的難度.
4、社區活躍度
Go語言社區活躍度並不高,具體可以看如下幾個方面
l 百度搜尋指數
是golang 和java 以及php的搜尋指數,近段時間以來,golang關注度不斷下降,已經到日均1000pv,如果golang不孵化生態圈,將面臨淘汰.事實上,在百度上搜尋golang,很多都是2014年的舊事了。