歡迎光臨
每天分享高質量文章

一周 Go World 新鮮事-2019W13

01

你真的需要用Kubernetes嗎?

 

Kubernetes是一個十分強大的容器編排系統。它在全球範圍內已廣受使用,支持了一些很大型的部署,但同時它也伴隨著一些代價。
特別是對於規模較小的團隊而言,會因為維護它並且因它的學習曲線陡峭導致大量耗時。相比較於我們一個四人團隊想要在trivago內實現的標的,它增加了太多額外負擔。所以我們研究了其他的選擇,並由衷地喜歡上它,那就是Nomad[1]。

原文鏈接:

https://mp.weixin.qq.com/s/MNX7QG-TbHXe0OMOun5eWA

原文二維碼:

02

Go Struct超詳細講解

 

 

Go語言中提供了對struct的支持,struct,中文翻譯稱為結構體,與陣列一樣,屬於複合型別,並非取用型別。

Go語言的struct,與C語言中的struct或其他面向物件編程語言中的類(class)類似,可以定義欄位(屬性)和方法,但也有很不同的地方,需要深入學習,才能區分他們之間的區別。

註意複合型別與取用型別之間的區別,這應該也是值傳遞和取用傳遞的區別吧。

 

原文鏈接:

https://juejin.im/post/5ca2f37ce51d4502a27f0539

原文二維碼:

03

Golang的分代GC(Garbage Collection)

前言

Go語言的垃圾回收(Garbage Collection,以下簡稱GC)機制是併發三色標記,是一種不移動的標記-清掃 GC演算法。在2018年的一次演講 中,官方公佈了嘗試使用分代GC的想法。截止目前(2019年4月份),分代GC仍處於試驗的狀態,沒有具體的發佈時間。

go官方代碼庫,目前共有10個commit,本文主要講解Go分代GC的實現思路以及現有的一些問題,後面可能詳細講解一下代碼。

標記-清掃 GC演算法

標記-清掃GC演算法首先會從一些固定的root節點開始,對於Go語言來說就是全域性指標和 goroutine 棧上的指標,根據這些root節點進行遞迴標記。當標記完成後,所有被標記的物件就都是存活的,其餘的物件即是可以清掃的。

 

原文鏈接:

https://www.jianshu.com/p/2383743edb7b

原文二維碼:

 

04

GCTT | 使用 Goroutines 池來處理基於任務的操作

 

我在多個場合都被問到為什麼使用工作池樣式,為什麼不在需要的時候啟動所需要的 Goroutines?我的答案一直是:受限於工作的型別、你所擁有的計算資源和所處平臺的限制,盲目地使用 Goroutines 將會導致程式運行緩慢,進而傷害整個系統的響應和性能。每個程式、系統和平臺都有短板。不管是記憶體、CPU 或者帶寬資源也都不是無限的。因此對於我們的程式來說,減少資源消耗、重用有限資源是非常重要的。工作池恰好提供了這樣一種樣式,可以幫助程式管理資源,提供調節資源的選項。

 

原文鏈接:

https://studygolang.com/articles/14481

原文二維碼:

 

05

一個示例闡述 Go 應用的優雅中止

 

寫在前面

按照一般的設計原則, 每個 HTTP 請求都是無狀態的,因此大多情況下 Web 應用都很容易做水平擴展。“無狀態”也意味著 HTTP 請求發起重試的成本是很低的,從而使得 Web 接口的開發很少關註優雅中止(一部分也因為 Web 框架做了這部分的考慮)。

不過,業務中 ① 總會存在對中止比較敏感的接口(比如支付相關),並且 ② 總會存在一些帶狀態的服務,此時優雅中止就顯得比較重要了。

本文通過一個Go 定時任務示例來簡單介紹 Go 技術棧中優雅中止的處理思路。

適用人群

入門——初級√——中級——高級;本文適應初級及以上。

代碼級支持優雅中止是必要的

優雅中止的含義

所謂“優雅中止”,是指應用接收到特定的中止信號(比如 INT、TERM)後,不再接受外部的新請求,也不再創建內部的新任務,保持應用行程運行直到舊需求和舊任務執行完成後再終止退出。

原文鏈接:

https://jingwei.link/2019/03/31/golang-graceful-ending.html

原文二維碼:

 

職位推薦:

【上海】積夢智慧招聘Go工程師

 

【北京】游戲公司 Magic Tavern招聘DevOps Engineer

 

【北京】Aibee招聘後端工程師

 

招聘詳情地址:https://gocn.vip/explore/category-8

 

 

Gopher China 2019 粉絲福利活動入口:

 

粉絲福利 | 第五屆 Gopher China大會門票福利第三波!

 

Gopher China  2019大會企業團購通道即將關閉,還未購票的伙伴們抓緊時間啦

詳情請加微信號:13458572960(玉璧)

已同步到看一看
赞(0)

分享創造快樂