Dropbox 開源其 Go 語言庫
英文原文:open-sourcing-our-go-libraries
Dropbox 的成功大部分歸功于 Python,這個語言可以使我們快速迭代開發。然而,為了支持日益增長的用戶量,我們的基礎設施日漸成熟,這時我們開始尋找一種更為高效的方式來改變系 統規模。大約在一年前,我們作出決定,把對于性能要求很苛刻的后臺部分從 Python 遷移到了 Go 語言,以提供更好的并發支持和更快的運行速度。一個規模很小的工程師團隊做出了大量的努力,這背后大約是 200,000(二十萬)行 Go 語言代碼。此時,我們成功地把架構的大部分遷移到了 Go 語言。
缺少構建大型系統的健壯的程序庫,已經成為了反復出現阻礙我們開發進度的問題。這并不奇怪,因為 Go 語言還是一門十分年輕的語言。為了處理這個問題,我們的團隊開始構建各種各樣的庫,已提供更好的封裝抽象,例如連接管理和 MenCache 客戶端。我們非常興奮的宣布我們開源了這些庫,幫助更廣大的社區開發大型的產品系統。
作為這項努力的開端,我們包含了許多庫。下面列舉幾個:
- caching :提供建立 caching 層的通用抽象。
- errors :強化了標準錯誤接口并且揭示出棧跟蹤的信息
- database/sqlbuilder : 允許開發者用可編程的方式生成 sql 語句。
- memcache : 實現了一個全特性的 mencache 客戶端庫,支持連接池和靈活的遮蔽(shading)。
- net2 : 連接管理中加入了函數性功能。
- (還有我個人最喜歡的,hash2,它包含了一個空間效率高,基于排列的連續哈希算法) </ul>
我們會在下面這個 repo 繼續擴大這些庫的規模:
https://github.com/dropbox/godropbox
為了確保我們持續投入努力到這些開源庫中,我們承諾在我們內部也使用這個公開版本的 repo。我們正在遷移內部系統,以直接使用這個 repo 中的庫。這能確保所有的修改和優化都能在他們被提取內部系統之前對公眾開放。
我們希望你能加入我們的社區,幫助我們把這些程序庫變得更好!
翻譯: 伯樂在線 - Hanbin
譯文鏈接: http://blog.jobbole.com/71414/
來自: 伯樂在線
<span id="shareA4" class="fl">
</span>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!