提及中国 Go 语言的布道与实践,七牛及其 CEO 许式伟总是出现频率最高的两个名词。从近乎冒险地选择到互相促进,七牛占据了Go 语言领域的很多个第一。第一个使用Go语言进行大规模项目研发;第一个完全用Go 语言实现分布式对象存储系统的核心服务;编写第一本国内原创图书《 Go 语言编程》......时至今日, Go语言几乎已成为云计算领域的统治者,七牛云也已经服务了40万客户,成为国内云服务行业的TOP 品牌。
向上追溯, Google 首次对外公开透露Go 的存在是在09年末,而仅在一年半之后,七牛就与 Go 正式结缘,启用其来研发分布式对象存储系统,此时甚至连官方正式版都尚未发布,市面上几乎没有发现这么大规模玩 Go 语言的其他个体或组织。而这个“吃螃蟹”的壮举,并不是盲目的冒险决策,而是七牛团队经历了慎之又慎地分析、测试、实践、内部争论后,认为Go 是一个能把 C++ 的性能优势以及Erlang 天生的并发特性相结合并的语言,并且语法语义非常简约,编写也很优雅,加上考虑到背景以及社区的基因,从而做出的决策。
从只有官方文档作为资料的岁月起步,七牛团队在四年时间内,用 Go 开发了以下服务和工具:
分布式存储系统 ( Distributed Key/Value Storage)
数据处理服务 (Data Processing)
网络接口服务 (RESTful API Service)
消息队列服务(Message Queue Service)
日志处理系统 (Log Service)
Web网站 (不含前端 JavaScript)
CLI命令行和 GUI 图形界面工具
其他辅助工具
随着后续生态系统的不断丰富与优化,特别是 2013年,又一个重磅项目 Docker 的出炉, Go 语言在云计算领域已成燎原之势。七牛云也在不断进行更深入的探索。将云服务的后端基于Docker进行微服务化,提出组件即服务(Components as a Service)+场景化模式(Pattern)结构,为用户提供更定制化,更贴近用户实际应用需求的数据服务。同时,七牛也正在筹备全球全部用 Go 语言搭建的第一个大规模直播云平台和第一个公有云通用计算平台。
目前,Go 在七牛的工程中代码覆盖率已经超过 90% ,而另外10%不能覆盖的原因是七牛给开发者自助使用的 Web 界面需要用JavaScript 编程来实现酷炫的前端,以及为开发者准备了多达超过 10 种编程语言的 SDK。
七牛旨在为企业打造了一站式的数据托管和处理平台,并围绕数据主题提供丰富的周边功能,如数据存储,上传下载加速,以图片音视频为主的数据处理、分析、自定义计算平台等业务,接管数据产生、上传、存储、处理分析、下载等全部流程,力求为企业提供全生命周期的数据管理服务,通过帮助用户缩短从想法到产品的距离。
在自研项目以外,七牛也一直致力于促进 Go 在国内的普及和发展,积极进行技术分享和布道。作为Golang 中国社区的合作伙伴,七牛在去年就独家赞助了Gopher China 2015大会并全程护航。今年,七牛将作为主办方,将与大家进行更深度的交流,而且七牛的老大,国内Go语言的布道师许式伟也会来现场给大家带来精彩的技术演讲,敬请期待~
本文分享自微信公众号 - GoCN(golangchina)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4628563/blog/4772183