Timehop為什麼使用Go替代Rails

2021-09-17 07:13:53 字數 1033 閱讀 4533

go語言從一面世就受到了很多開發者的關注,尤其它的並行機制使得開發者能夠非常容易地編寫多核和網路應用。當前,越來越多的專案基於go語言實現,如著名的開源容器docker、paas平台deis、google的kubernetes等。此外,還有眾多專案遷移到了go技術棧,如dropbox從python轉向了go、bowery從node.js轉向了go等。近日,社交應用timehop(中文譯為時光機)的聯合創始人benny wong發布了一篇題為《timehop為什麼使用go替代rails》的文章,該文章對timehop從rails轉向go的經歷進行了總結。從文章中得知,timehop的技術棧於2023年經歷了從rails到go的轉變;至今,timehop已經高效、穩定地執行了一年半時間,並且每天活躍使用者數達到了600萬,其中95%的請求響應時間從rails時代的700毫秒減少到70毫秒。infoq編輯現對文章進行了整理和彙總以供讀者參考和學習,具體內容如下:

\\\\

timehop自上線以來,其使用者規模不斷擴大和訪問量不斷增長,基於rails/ruby的timehop漸漸地出現了效能瓶頸,timehop急需高效能、支援並行處理、真正多執行緒的平台/語言以解決遇到的效能瓶頸問題。

\\\\

go能夠完全滿足timehop對高併發和並行處理的需要,其具有以下主要特徵:\\

timehop的開發團隊還對選擇go進行了一些討論,如使用go後會出現哪些意外、如何完成團隊的技術切換、go有哪些不足、部署時有哪些關鍵的庫需要注意、如何進行託管和部署、能否使用go建立api、go程式在多型性和模組化方面是如何處理的、google對go的支援情況等,這些討論內容為大家將自己應用的技術棧轉向go提供了參考依據。

\\ \\

此外,有關轉向go技術棧的經驗總結,讀者還可以閱讀infoq去年發布的一篇題為《bowery為什麼從node.js轉向go》的文章,文章總結了基於雲技術的開發平台bowery從node.js轉向go的原因,這些原因包括go具有強大的跨平台程式設計能力、快速部署、併發原語的支援、標準化的整合測試框架、強大的標準庫、強大的開發者工作流工具等。

感謝郭蕾對本文的審校。

\

Timehop為什麼使用Go替代Rails

go語言從一面世就受到了很多開發者的關注,尤其它的並行機制使得開發者能夠非常容易地編寫多核和網路應用。當前,越來越多的專案基於go語言實現,如著名的開源容器docker paas平台deis google的kubernetes等。此外,還有眾多專案遷移到了go技術棧,如dropbox從python轉...

Timehop為什麼使用Go替代Rails

go語言從一面世就受到了很多開發者的關注,尤其它的並行機制使得開發者能夠非常容易地編寫多核和網路應用。當前,越來越多的專案基於go語言實現,如著名的開源容器docker paas平台deis google的kubernetes等。此外,還有眾多專案遷移到了go技術棧,如dropbox從python轉...

為什麼要用GO語言

go語言用途 go語言被設計成為一門應用於搭載web伺服器,儲存集群或類似用途的巨型 伺服器的系統程式語言。對於高效能分布式系統領域而言,go語言無疑比大多數其他語言有著更高的開發效率。它提供了海量並行的支援,這對於遊戲服務端的開發而言是再好不過。第乙個go程式 接下來我們來編寫第乙個go程式hel...