参加 gopher china 2017 后感

我首次参加 gopher china,第一天的会议大部分还是讲架构,

Go 在大数据开发中的实战经验,孙健波,架构讲的太多了,留给Go语言相关的就少了

Go in TiDB,申砾,干货满满,就是时间没了,很好的分享

Go coding in Go style,白明,去吃饭了没听到,不好评价

Understanding Go Interfaces,Francesc Campoy,谷歌工程师的 go interface{} 讲的很好,回头要好好补补 interface{} 的功课,感觉花样还挺多的,另外还学到了一些演讲和互动的技巧

NSQ 重塑之路,李文,爆改了一顿NSQ,很牛逼,但是感觉和开源之路走的有点远,最终可能就会像nginx和tegine那样,脱离社区了

基于 Go 的微服务架构 (Spring 开发者视角),聪心,这哥们普通话不标准,睡着了,反正都在讲java

用 Go 搭建 Kubernetes Operators,邓洪超,K8的演示,见识了K8的厉害,不过貌似和Go关系不大

哔哩哔哩的 Go 微服务实战,毛剑,很务实的CTO,应该也是写代码的CTO,从B站创世到现在经历了很多创业公司到初具规模的发展的必经之路,用Go做微服务,用GOB格式传递,还是值得学习的

第二天,就听了上午,下午回家了,不过感觉第二天上午的质量还是蛮高的

纯 Go 打造亿级实时分布式平台,高超,Grab公司的,是东南亚叫车服务公司的,用Go做了全栈,谈到了用Go做的Serverless,由于我最近刚在公司上线了2个Serverless项目,于是找高超(差点打成高潮。。)想交流一下Serverless的相关经验,但是遗憾的是Grab公司的Serverless是Docker容器编排,并不是真正意义的Serverless,有点小失望。另外Grab公司的apm,也还是依赖程序员打点,通过http请求头加TranceId的方式做的,这点也挺遗憾的,我本想讨教一下在Go编译的时候注入代码的实现。不过他们的代码审查review的流程还是值得借鉴的。
Phabricator+Arcanist 用来做代码审查
https://github.com/golang/lint 来做代码风格检查

Go 语言在扫码支付系统中的成功实践,张建龙,和高超交流了,没有听到

Go 在百万亿级搜索引擎中的应用,郭军,这个搜索引擎数据存储,其实是干货满满,无奈不是干那个细分行业的听了似乎没有什么用,唯一的收获是,通过多级目录,最终找到资源,就像我们查新华字典那样。

还有几个Go语言编码上的收获:
1、空指针检查,这个比较重要,减少panic
2、interface{} 的深入学习,回头一定要好好补习一下interface{}
3、很多人都提到了Context,其实在用Go做http业务的时候,Context很有用,杜绝野的goroutine,详见博客连接:
http://www.tuicool.com/articles/n6rInyn
https://segmentfault.com/a/1190000006744213
4、不要过度设计,使用类似对象池这种,go在1.8的GC时间已经很好了
5、更多的利用 profile pprof 等包对go进行性能检测

暂时就这么多了,等今年 OpenResty 大会,看看有没机会去分享一把,最近or做的还是挺多的。