Go的隱藏功能
//go: noescape
//go: noinline
//go: nosplit
//go: linkname
...
其它
// +build
//go: generate
package xxx // import "xxx"
//line
ezbuy:
東南亞跨境電商公司,從C#切換到Go,正在切換中
Go微服務治理實踐
開發(fā)環(huán)境構(gòu)建:Goflow
- 開發(fā)環(huán)境統(tǒng)一化
- 第三方依賴管理
- 編譯流程統(tǒng)一,含非go的語言


強迫不同的項目使用同樣的第三方庫

使用了subtree,submodule是存的引用,subtree是在一個庫里(待確認),更新速度約為submodule的5倍




微服務選型:gRPC


通過拓展區(qū)分pb中的接口是內(nèi)部還是外部

除了接口,有時需要提供SDK

使用internal來隔離

遠程服務調(diào)用,做一些約定

服務發(fā)現(xiàn)



沒找到好辦法,規(guī)范服務調(diào)用的寫法


分布式跟蹤:調(diào)用棧、Context
sentry
-
跨進程錯誤追蹤,不一定要通過日志收集實現(xiàn),比如使用Context
在go沒有exception的情況下如何處理?利用context,包含一些額外信息
死循環(huán),用Context + TTL處理

跨數(shù)據(jù)中心:Gateway - 解決方案
Gateway之間相互感知,最終一致性



ezbuy為啥要從.net轉(zhuǎn)go的“契機”以及對.net core的看法,知乎上的回答:
https://www.zhihu.com/question/32249717/answer/149679759
