一 我先想分析一下现在有哪些公司使用go 语言,go语言在实际开发中有哪些使用场景。我觉得学习一门新语言一个很重要的问题。
Go大概09年面世以来,已经有很多公司开始使用Go语言开发自己的服务,甚至完全转向Go开发,也诞生了很多基于Go的服务和应用,比如Dokcer、k8s等,现在我们看下,有哪些大公司在用Go语言了。
【Google】
这个不用多做介绍,作为开发Go语言的公司,当仁不让。Google基于Go有很多优秀的项目,比如:https://github.com/kubernetes/kubernetes ,大家也可以在Github上 https://github.com/google/ 查看更多Google的Go开源项目。
【七牛】
整个产品(包括基础服务、Web端、统计平台、各类小工具等等),Go代码行数占比:99.9%。七牛算是国内第一家选 Go 语言做服务端的公司。早在2011年,当Go语法还没完全稳定下来的情况下,七牛就已经选择将Go作为存储服务端的主题语言。关于这点,七牛CEO许式伟谈到:编程哲学的重塑是 Go 语言独树一帜的根本原因,其它语言仍难以摆脱 OOP 或函数式编程的烙印,只有 Go 完全放弃了这些,对编程范式重新思考,对热门的面向对象编程提供极度简约但却完备的支持。Go 是互联网时代的C语言,不仅会制霸云计算,10 年内将会制霸整个 IT 领域
【新浪微博】
中间件和弹性调度用 Java 和 Go 编写,微博视频转码及存储服务用 Go 编写。
【京东】
京东云消息推送系统
【哔哩哔哩】
参考:https://www.zhihu.com/question/65782086 如何看待哔哩哔哩用go语言重写所有的java后台工程?
【百度】
百度运维的一个BFE项目,负责前端流量的接入。他们的负责人在2016年有分享,大家可以看下这个 http://www.infoq.com/cn/presentations/application-of-golang-in-baidu-frontend .其次就是百度的消息系统,从其最近的Golang招聘介绍就可以看出来. > 负责公司手百消息通讯系统服务器端开发及维护
【小米 】
小米对Golang的支持,莫过于运维监控系统的开源,也就是 http://open-falcon.com/ 。此外,小米互娱、小米商城、小米视频、小米生态链等团队都在使用Golang。
Go适合用来做什么 ?
服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
分布式系统,数据库代理器等 。
网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用、 内存数据库,前一段时间google开发的groupcache,couchbase的部分组建。
云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。
Go 的优点的体会 ?
为什么我会选择Golang呢?
其实我在做出这个选择之前已经花了大量时间做过详尽调研。 国外如Google、AWS、Cloudflare、CoreOS等,国内如七牛、阿里等都已经开始大规模使用Golang开发其云计算相关产品。 跟着世界级巨人的脚步应该不至于走错方向,而且在学习Golang的过程中,发现Golang入门非常简单 。另外,云风博客中曾说过这样一句话:我发现我花了四年时间锤炼自己用 C 语言构建系统的能力,试图找到一个规范,可以更好的编写软件。结果发现只是对 Go 的模仿。缺乏语言层面的支持,只能是一个拙劣的模仿。参考 https://blog.codingnow.com/2010/11/go_prime.html
有疑问加站长微信联系(非本文作者)