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

一周 Go World 新鮮事-2019W09

01

go-kit微服務:服務熔斷

 

在微服務架構中,單體服務被拆分為若干微服務,一個服務通常需要呼叫(網絡方式)多個服務才能完成預期功能,服務的穩定性受其他服務整體穩定性的制約。若一個服務出現故障,將會影響服務消費方無法正常工作,並將影響逐步放大,甚至導致整個服務集群崩潰,也就是服務雪崩效應。

為防止服務雪崩,研發人員採用了流量控制、改進快取、服務自動擴容、服務降級與熔斷等方式。本文將介紹服務熔斷,並使用go-kit+Hystrix實現微服務的熔斷方案。

原文鏈接:

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

原文二維碼:

02

基於Mixin Network的Go語言比特幣開發 

 

通過本本文,你可以學到如下內容

1、如何創建一個比特幣錢包。

2、如何讀取比特幣錢包的餘額。

3、如何實現免手續費支付比特幣並1秒到賬。

4、如何將Mixin Network的比特幣提現到你的冷錢包或第三方交易所。

原文鏈接:

https://segmentfault.com/a/1190000018398339

原文二維碼:

 

03

Go 1.12 TLS 1.3 簡單測試

在《TLS 1.3 當前(2018.10)支持與部署之現狀》中,我們提到 Go 將在 1.12 中支持 TLS 1.3. 作為一個 Gopher, 終於在前幾天盼來了 golang 1.12 的發佈。但是從 release 日誌看,本次對選擇性的部分支持 TLS 1.3, 且預設處於關閉狀態:

 

    Go 1.12 adds opt-in support for TLS 1.3 in the crypto/tls package as specified by RFC 8446. It can be enabled by adding the value tls13=1 to the GODEBUG environment variable. It will be enabled by default in Go 1.13.

 

如果要開啟 TLS 1.3, 需要設置環境變數:GODEBUG=tls13=1.本次發佈的 TLS 1.3 的 cipher suite 無法配置,也不支持 0-RTT 樣式:

TLS 1.3 cipher suites are not configurable. All supported cipher suites are safe, and if PreferServerCipherSuites is set in Config the preference order is based on the available hardware.

Early data (also called “0-RTT mode”) is not currently supported as a client or server.

原文鏈接:

https://liudanking.com/sitelog/go-1-12-tls-1-3-test/

原文二維碼:

 

 

 

04

Go 1.12中值得關註的幾個變化

 

Go team如期在2月末發佈了Go 1.12版本。從Go 1.12的Release Notes粗略來看,這個版本相較於之前增加了go modules機制、WebAssembly支持的Go 1.11,變化略“小”。這也給下一個Go 1.13版本預留了足夠的“驚喜”空間:)。從目前的plan來看,Go 1.13很可能落地的包括:Go2的幾個proposals:Go 2 number literals, error values和signed shift counts等,以及優化版Escape Analysis等。

 

原文鏈接:

https://tonybai.com/2019/03/02/some-changes-in-go-1-12/

原文二維碼:

05

go語言實現自己的RPC:go rpc codec

 

RPC是遠程過程呼叫(Remote Procedure Call)的簡稱,通過RPC我們可以像呼叫本地方法一樣呼叫位於其他位置的函式。大家更常見的可能是HTTP API呼叫,簡單來對比的話,RPC比起HTTP呼叫封裝更完善,呼叫者不必手動處理序列化和反序列化,使用成本更低一些(雖然學習成本可能會更高)。

出於學習目的,這次的標的是使用go語言來實現一個自己的RPC。在現實世界里,對於一個RPC工具,除了方法呼叫以外,人們更看重的是其他功能比如服務發現、負載均衡、熔斷降級之類的功能,這裡暫時不會涉及,而是僅關註實現一個可以工作的方法呼叫。

之前的文章里大致瞭解了go語言自帶的rpc框架,其中就提到go rpc預留了codec接口,可以讓用戶在go rpc使用自己的序列化協議,這次就嘗試實現一個自己的codec來實現自己的RPC。

 

原文鏈接:

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

原文二維碼:

 

職位推薦:

【上海、北京】趣頭條招Golang研發工程師及架構師

 

【北京、上海】今日頭條高級Golang工程師

 

【北京、杭州】滴滴招golang開發工程師

 

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

 

Gopher China 2019 最新資訊

赞(0)

分享創造快樂