文 / Steve Francia,Go Team
Go 语言的地鼠吉祥物,出自知名插画师 Renee French 之手。本图改编自 Egon Elbre 的一幅画
最近我们迎来了 Go 的十周年纪念日,我们有幸与全球开发者社区共同庆祝这一里程碑。
Gopher 社区举办了一系列大会来庆祝 Go 的十周年纪念日,例如山景城的 Gopherpalooza 大会 和圣地亚哥的 KubeCon 大会,以及在世界各地的数十场大会。
Gopherpalooza 大会
http://gopherpalooza.com/
KubeCon
https://events19.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2019/
在这一里程碑式的重要时刻,我们将花点时间来回顾 Go(也称为“golang”)取得的惊人发展和进步,看看它如何从最初由 Google 创建及开源,再到收获众多尝试者和粉丝,进而成为现今全球企业每天处理重要工作时不可或缺的工具。
Go 是一种开源的编程语言,旨在帮助开发者大规模构建快速、可靠且高效的软件。这种语言由 Google 创建,现由 2100 多位贡献者提供支持,他们主要来自开源社区。Go 语言在语法上与 C 语言类似,但它增加了内存安全、垃圾回收、结构形态和 CSP-style 并发计算等优点。
最重要的是,Go 语言是专为提高多核、联网计算机和大型代码库的工作效率而设计的,可帮助程序员快速扩展软件 开发 和 部署。
Go 在全球拥有上百万用户,他们遍布各个行业、经验领域和工程学科。Go 语言具有语法简洁明了、使用容易、格式简单、速度快等优点,这使它成为发展最迅速的语言之一。此外,它还有一个繁荣的开源社区。
随着 Go 的使用量不断增长,越来越多的基础服务也随之建立。基于 Go 构建的热门开源应用包括 Docker 、 Hugo 、 Kubernetes 。Google 的混合云平台 Anthos 也是基于 Go 构建而成。
Go 最初用于支持大量 Google 服务和基础架构。如今,Go 的用户包括 美国运通 、 Dropbox 、 纽约时报 、 Salesforce 、 塔吉特百货 、 第一资本 、 Monzo 、 Twitch 、 IBM 、 优步 以及 Mercado Libre 等知名企业。Go 已成为众多企业在进行云端构建时的首选语言。
Go 在 Mercado Libre 的应用就是一个很棒的例子,该公司使用 Go 扩展电子商务生态系统并实现其现代化革新、提高效率并缩短系统响应时间。
Mercado Libre 的核心 API 团队负责在公司的微服务解决方案的中心构建和维护规模最大的 API。过去,该公司的许多堆栈都使用基于关系型数据库支持的 Grails 和 Groovy。然而,这种庞大的多层框架很快便遇到了伸缩性问题。
将该旧架构重构成 Go 这一全新精简型框架来构建 API,不仅能简化中间层,还可产生巨大的性能优势。例如,一个大型 Go 服务现能够在 每台机器上运行 70000 个请求,但仅占用 20 MB RAM。
“Go 简直棒极了,”Mercado Libre 的软件工程经理 Eric Kohan 表示,“它功能强大,易于学习,而且拥有后端基础架构,可为我们提供出色的伸缩性。”
Mercado Libre 利用 Go 将用于该服务的服务器数量缩减到原来的八分之一(从 32 台服务器降到 4 台服务器),同时还降低了每台服务器的配置(将 CPU 核心数从原来的 4 个 降到现在的 2 个 )。该公司利用 Go 减少了 88% 的服务器,并将剩余服务器上的 CPU 核心数量缩减一半 ,从而节省了大量成本。
借助 Go,Mercado Libre 的 构建速度提高了 3 倍 (3x),而测试套件的运行速度则惊人地提升了 24 倍 。这意味着,该公司的开发者可以在做出变更后,以远超以往的速度构建并测试该变更。
“我们非常赞成 Go 语言的宏观哲学,”Kohan 说,“我们喜欢 Go 的简洁,它具有非常清楚的错误处理方式,而这正是开发者们的福音,因为这样就能在生产环境中运行更加安全可靠的代码。”
看到 Go 社区在开发者使用、企业采纳、软件包贡献等诸多方面起到的推动作用,我们倍感高兴。
在此基础上,我们很高兴推出全新的 Go 开发者中心 - go.dev 。
在这里,您可以找到 Go 软件包和模块的集中化信息、该语言丰富的入门学习资源,以及 Go 在企业中的重要使用案例。
使用 Go 大规模构建快速、可靠且高效的软件的案例有很多,Mercado Libre 的近期用例只是其中一个。
如需详细了解 MercadoLibre 成功使用 Go 的案例,请参阅 完整案例研究 。
完整案例研究
https://go.dev/solutions/mercadolibre
对了,想了解更多信息,还有我们的 DevFest 系列活动 可以参加!
( :point_down: 错过了要等一年, 点击下图立即报名 :point_down:)
如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:
Go 开发者中心
https:// go.dev
Docker
https://cloud.google.com/anthos/
Hugo
https://gohugo.io/
Kubernetes
https://kubernetes.io/
Anthos
https://cloud.google.com/anthos/
美国运通
https://go.dev/solutions/americanexpress/
Dropbox
https://blogs.dropbox.com/tech/2014/07/open-sourcing-our-go-libraries/
纽约时报
https://open.nytimes.com/introducing-gizmo-aa7ea463b208
Salesforce
https://www.zdnet.com/article/salesforce-why-we-ditched-python-for-googles-go-language-in-einstein-analytics/
塔吉特百货
https://tech.target.com/infrastructure/2018/06/18/Recommending-GoLang-at-Target.html
第一资本
https://medium.com/capital-one-tech/a-serverless-and-go-journey-credit-offers-api-74ef1f9fde7f
Monzo
https://monzo.com/blog/2016/09/19/building-a-modern-bank-backend
Twitch
https://blog.twitch.tv/en/2016/07/05/gos-march-to-low-latency-gc-a6fa96f06eb7/
IBM
https://developer.ibm.com/messaging/2019/02/05/simplified-ibm-mq-applications-golang/
优步
https://eng.uber.com/aresdb/
Mercado Libre
http://go.dev/solutions/mercadolibre