炼数成金 门户 大数据 编程开发 查看内容

Go 语言 10 岁啦:Go 在企业中的发展历程

2019-12-3 15:57| 发布者: 炼数成金_小数| 查看: 3765| 评论: 0|原作者: Steve Francia,Go Team|来自: 谷歌开发者

摘要: Go 是一种开源的编程语言,旨在帮助开发者大规模构建快速、可靠且高效的软件。这种语言由 Google 创建,现由 2100 多位贡献者提供支持,他们主要来自开源社区。Go 语言在语法上与 C 语言类似,但它增加了内存安全、 ...

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?
Go 是一种开源的编程语言,旨在帮助开发者大规模构建快速、可靠且高效的软件。这种语言由 Google 创建,现由 2100 多位贡献者提供支持,他们主要来自开源社区。Go 语言在语法上与 C 语言类似,但它增加了内存安全、垃圾回收、结构形态和 CSP-style 并发计算等优点。

最重要的是,Go 语言是专为提高多核、联网计算机和大型代码库的工作效率而设计的,可帮助程序员快速扩展软件 开发 和 部署。

数百万 Go 用户!
Go 在全球拥有上百万用户,他们遍布各个行业、经验领域和工程学科。Go 语言具有语法简洁明了、使用容易、格式简单、速度快等优点,这使它成为发展最迅速的语言之一。此外,它还有一个繁荣的开源社区。

随着 Go 的使用量不断增长,越来越多的基础服务也随之建立。基于 Go 构建的热门开源应用包括 Docker、Hugo、Kubernetes。Google 的混合云平台 Anthos 也是基于 Go 构建而成。

Go 最初用于支持大量 Google 服务和基础架构。如今,Go 的用户包括美国运通、Dropbox、纽约时报、Salesforce、塔吉特百货、第一资本、Monzo、Twitch、IBM、优步以及 Mercado Libre 等知名企业。Go 已成为众多企业在进行云端构建时的推荐语言。

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 倍。这意味着,该公司的开发者可以在做出变更后,以远超以往的速度构建并测试该变更。

如今,Mercado Libre 公司大约有一半数据流量均由 Go 应用处理。

“我们非常赞成 Go 语言的宏观哲学,”Kohan 说,“我们喜欢 Go 的简洁,它具有非常清楚的错误处理方式,而这正是开发者们的福音,因为这样就能在生产环境中运行更加安全可靠的代码。”

访问 go.dev 了解更多
看到 Go 社区在开发者使用、企业采纳、软件包贡献等诸多方面起到的推动作用,我们倍感高兴。

在此基础上,我们很高兴推出全新的 Go 开发者中心 - go.dev。

在这里,您可以找到 Go 软件包和模块的集中化信息、该语言丰富的入门学习资源,以及 Go 在企业中的重要使用案例。

使用 Go 大规模构建快速、可靠且高效的软件的案例有很多,Mercado Libre 的近期用例只是其中一个。

如需详细了解 MercadoLibre 成功使用 Go 的案例,请参阅完整案例研究。
完整案例研究 
https://go.dev/solutions/mercadolibre

如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:
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

声明:文章收集于网络,版权归原作者所有,为传播信息而发,如有侵权,请联系小编及时处理,谢谢!

欢迎加入本站公开兴趣群
软件开发技术群
兴趣范围包括:Java,C/C++,Python,PHP,Ruby,shell等各种语言开发经验交流,各种框架使用,外包项目机会,学习、培训、跳槽等交流
QQ群:26931708

Hadoop源代码研究群
兴趣范围包括:Hadoop源代码解读,改进,优化,分布式系统场景定制,与Hadoop有关的各种开源项目,总之就是玩转Hadoop
QQ群:288410967

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2019-12-9 06:12 , Processed in 0.195510 second(s), 25 queries .