您的位置 > 首页 > 技术干货 > Go 语言 10 岁啦:Go 在企业中的发展历程编程开发

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

来源:炼数成金 | 2019-12-03 | 发布:BOB体育娱乐平台之家

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


本文已经过优化显示,查看原文请点击以下链接:
查看原文:http://it.dataguru.cn/article-15227-1.html
京ICP备11001960号  京ICP证090565号 京公网安备1101084107号 论坛法律顾问:王进律师知识产权保护声明免责及隐私声明   主办单位:人大经济论坛 版权所有
联系QQ:2881989700  邮箱:service@pinggu.org
合作咨询电话:(010)62719935 广告合作电话:13661292478(刘老师)

投诉电话:(010)68466864 不良信息处理电话:(010)68466864