當前位置:
首頁 > 最新 > 一周 Go World 新鮮事-祝大家開工大吉!

一周 Go World 新鮮事-祝大家開工大吉!

01

使用Golang的Elasticsearch查詢示例

Elastic中的查詢與標準(不)SQL中的查詢有很大不同。即使最終結果幾乎相同(從表A得到全部,按B列排序,C desc在列D如"E"),並且您可以輕鬆地在這兩者之間繪製一條線,但Elastic中查詢的複雜性是與SQL相比要高得多。為了在我們的Elastic伺服器上執行查詢,我們使用了Olivere的令人驚嘆的彈性庫(版本5),儘管下面的大多數查詢也可以在其他版本上工作。

出自GoCN每日新聞(2018-02-17)

02

Go的HTTP Server-Timing

這是一個包含使用HTTP Server-Timing和Go的中間件的庫 。該頭允許伺服器從後端發送定時信息,例如資料庫訪問時間,文件讀取等。然後可以在標準瀏覽器開發人員工具中檢查定時信息

出自GoCN每日新聞(2018-02-19)

03

Go 競爭檢查和修復

Go 在構建並發程序的易用性已被眾所周知。但是,所有這些並發性的情況下,都會出現可怕的數據競爭 - 如果在代碼中遇到問題,可能會遇到最難以調試的錯誤之一。

在這篇文章中,我們將通過一個引起數據競爭的示常式序,並使用檢測器工具檢測競爭狀況。然後,我們將看看一些方法來解決競爭條件,同時仍然保持我們代碼的核心邏輯完整。

出自GoCN每日新聞(2018-02-20)

04

Bazel構建Go的應用

在InPlayer中,我們有一個使用微服務架構風格構建的平台,該架構基本上將應用程序組合為許多不同服務的集合。在這篇文章中,我將討論我們如何構建,構建和部署我們的Go應用程序。

我們編寫的每一個Go代碼位於單個Git存儲庫中 - monorepo。由於每個庫和服務都集中在一個項目中,因此我們可以在不需要某些外部軟體包管理工具的情況下進行交叉更改。基本上,代碼不可能不同步,我們所做的每個更改都可以被視為一個單元。雖然好處很明顯,但與Go monorepo合作面臨的挑戰是如何高效地構建和測試每個軟體包。

出自GoCN每日新聞(2018-02-22)

05

生產環境上的代碼遷移:重寫Uber 無範式數據倉庫的分片層

2014年,優步工程建立了Schemaless,容錯和可擴展的數據存儲庫,以促進公司的快速發展。在2016年單獨部署了超過40個無模式實例和數千個存儲節點。

隨著業務的增長,資源利用率和延遲也在增長; 為了保持Schemaless的高性能,Uber需要一個可以大規模執行的解決方案。因此重新編寫了Schemaless的一系列Python工作者節點的Go(一種對輕量級並發支持內置支持的語言),這樣數據存儲可以獲得顯著的性能提升,Uber將產品系統從舊實現遷移到新實現- 儘管仍在生產中。這個過程被稱為Frontless項目,表明有可能在不中斷正在運行的服務的情況下重寫大規模數據存儲的前端。

在本文中,Uber 如何將無模式分片層從Python遷移到Go,這一過程使Uber 能夠以更少的資源處理更多的流量,並改善了服務中的用戶體驗。

出自GoCN每日新聞(2018-02-23)


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Go中國 的精彩文章:

一周 Go World 新鮮事-祝大家新年快樂!

TAG:Go中國 |