21.5 Go 语言的其他应用

在前面的章节中,我们只讨论了 Go 在商业环境中已经使用的许多地方中的几个。其他一些使用 Go 的机构有:

  1. Canonical-Ubuntu 公司:使用 Go 开发后台基础设施,主要开发者为 Gustavo Niemeyer。例如项目 Ensemble(见 参考文献 30)。

  2. FeedBooks:用 Go 发布电子书。

FeedBooks 是一个电子书的发行商,它使用 Go 和 mgo 每天为超过一百万的图书出版提供服务。这是 Feedbooks 的研发工程师 Benoît Larroque 的一条评论:

“mgo(一个与 MongoDB 交流的 Go 库)使我们能够每天为超过 100 万本图书出版提供服务,同时也降低我们的服务器负载。”

  1. Anchor-Orchestra:一个使用 Go 的分布式执行框架。这家公司的特点是高水平的服务器支持、配置应用程序设置、缓存和解决可扩展性问题。他们还可以与其他网站托管公司合作,专业地设置负载平衡、数据库集群和虚拟环境。

为此,他们使用 Go 开发并使用 Orchestra 分布式执行框架。

(更多信息:http://www.anchor.com.au/blog/2011/08/the-automation-waltz/

  1. 开放知识基金会

这个组织使用 Go 进行(元)数据目录的聚合和数据链接。所有现有的软件都是用 Python 写的,所以开发者可以对两者进行比较。他们的结论是:

“目前(2011 年)Go 可能是编写并发服务器的最佳语言。”

  1. Clarity Services Inc.:该公司是一家实时的信用机构,其使用 Go 语言对信用申请进行基于事件的后期处理。

  2. Cablenet 通信系统有限公司:这家塞浦路斯的 cablenet 供应商用 Go 开发了一个内部供应系统。

  3. Tonika:是一个用 Go 开发的、开源安全网络社交平台。

  4. Medline:使用 Go 的 XML 解析器来将Medline(医学期刊的数据)的压缩 XML 文件转化到 RDF。

  5. Iron.io:构建云基础设施软件。

    它用 Go 开发的第一个产品是 SimpleWorker,一个大规模的后台处理和调度系统;他们也在使用 Go 进行其他服务。

  6. SmartTweets:一个用Go开发的 Facebook 应用程序。这个应用程序将你的 Twitter 状态更新转贴到你的 Facebook 主页上,并允许过滤转发、提及、标签、回复等内容。

    该应用程序现在有超过 12 万名用户。

    “这是一种稳定的语言,”Michael Hoisie 说,“它可以处理负载。”

  7. Sandia 国家实验室,一个美国开发支持国家安全的基于科学的技术的政府机构,有很多曾经从事过编程的人都在使用这种语言。很多过去使用 C、C++、Perl、Python 或其他什么 HPC 管理软件的人,已经转而使用 Go,并且不打算回头了。

    Go 在效率、语言能力和编写代码的便利性之间找到了一个好的位置。

    —— Ron Minnich

  8. Carbon Games:一家网络游戏公司,为他们的后台服务使用 Go。

  9. Vaba软件公司:用 Go 重写了他们的消息和存储引擎。

  10. Institute for Systems Biology:用 Go 开发了分布式计算分析系统 Golem

  11. Second Bit:使用 Go 来驱动他们的 2cloud 服务。

  12. Numerotron Inc:用 Go 开发了他们的统计和事件跟踪系统 StatHat

最后是谷歌公司本身,它是 Go 的(发明者)之家。

Go 在谷歌内部的使用是相当保密的,但在 2010 年 5 月,Rob Pike 宣布 Google 的后端基础设施正在运行用 Go 构建的应用程序(参考文献 27)。Go 被用于一些系统(网络服务器,也包括存储系统和数据库),这些系统在跨越谷歌全球数据中心网络的分布式基础设施中发挥着作用。Go 可能会在未来几年内成为谷歌的标准后端语言。Andrew Gerrand 还说,谷歌员工正在使用 Go 来简单地从服务器上抓取信息。

“谷歌有管理应用程序和服务的人,他们需要编写工具来抓取几千台机器的状态并汇总数据,”他说,“以前,这些操作人员会用 Python 写这些东西,但他们发现 Go 在性能和实际写代码的时间方面要快得多。”

关于 Go 在企业中的使用情况,可以在 http://go-lang.cat-v.org/organizations-using-go 上找到一个全面的清单。