项超,2015 年加入今日头条,负责研发微服务框架,实施微服务落地。在头条推广 Go 语言在 Web 后端服务的使用,逐渐经历了核心服务从 Python 到 Go 的演变过程,为爆发式的流量增长提供了持续的动力。先前就职于小米,参与设计和实现了小米网秒杀系统,支撑起百万 QPS 的抢购活动。从 Go1.1 版本开始使用 Go 语言,喜欢 Go 语言的工程性,并且认为 Go 语言非常适合开发大规模分布式系统。认同 12factor,对构建高可用分布式基础设施系统具有浓厚的兴趣。
Go 在 2016 年获得了年度编程语言的称号,或许这和 Kubernetes 以及 Docker 的流行是分不开的。今日头条在 2015 年的时候开始使用 Go 语言构建后端的核心服务,并开发了基于 Thrift 协议的 Go 语言微服务框架,目前运行着近百个 Go 语言开发的微服务,每天在线处理超过 3000 亿次请求,在生产环境大规模使用 Go 语言开发服务的过程中,我们体验到了 Go 语言带来的在性能和开发效率上的平衡,同时也碰到了许多问题,例如:并发控制,超时控制,锁粒度控制,GC 调优,性能调优。这里和大家分享下关于 Go 语言的一些最佳实践,知道了这些,或许可以构建出更加优秀的服务。