45

谷歌云为什么选择支持 Go 语言?

 5 years ago
source link: https://www.infoq.cn/article/eP7BXb-cdZefDK2Z8mGU?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在最近的一篇文章中,谷歌宣布在他们的函数即服务产品云函数上支持 Go 1.11。在这项声明中,除了之前就支持的 Node.js 和 Python 之外,Go 也加入了这一阵容,成为云函数支持的编程语言。

Go 是谷歌设计的一种开源编程语言,在 1.11 版本中,他们添加了模块概念。这些模块管理 Go 项目中使用的第三方包的依赖关系,与.NET 的 NuGet 和 node.js 的 NPM 类似。令人惊讶的是,尽管 Go 有谷歌背景,但谷歌云函数并不是第一个支持这种语言的 FaaS,因为 IBM 云函数和 AWS Lambda 去年已经宣布了这项支持。尽管如此,社区欢迎对该语言的支持,因为他们发现它与 FaaS 实现结合效果非常好。

最后,Go 非常适合云函数,因为其函数的冷启动速度非常快。

去年,我在 lambda 上测了有数据库连接的 node.js 和 Golang 函数,冷启动时间分别为 3148 毫秒和 1648 毫秒。

函数即服务是一个流行的概念,所有主要的云供应商都有它自己的实现,无论是谷歌云函数、Azure 函数,还是 AWS Lambda。通常,函数会在事件发生时运行一段代码,并且经常实现为无服务器架构的一部分,Stackify 创始人兼首席执行官 Matt Watson 有过下面这样的描述。

FaaS 的概念是通过无服务器架构进行无服务器计算。软件开发人员可以利用这一点来部署单个的“功能”、操作或一块业务逻辑。它们可以在几毫秒内启动并处理单个请求,然后进程结束。

谷歌云函数的用法没有什么不同,它提供了两种不同的调用方法。第一个是 HTTP 函数,它使用 HTTP 请求调用,并允许从任何兼容 HTTP 的客户端使用。另一方面,还有后台函数,由事件触发,例如从云存储或 Firebase 触发。通过这些事件,可以实现各种场景,其中,云函数的教程中有几个例子。相应地,这包括从 Slack 中搜索谷歌知识库或从图片中提取和翻译文本等应用程序。

6ZfI3yU.png!web

已经有几篇博文展示如何开始在云函数上使用 Go,例如 Posse Productions 创始人 Luke Freeman。在 这篇文章 中,Luke 展示了如何设置这类项目的结构,如何创建函数,以及如何测试和使用它们。最后,他介绍了部署过程,对各个开发阶段进行了完整的概述。

查看英文原文:

https://www.infoq.com/news/2019/01/cloud-functions-go-support


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK