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

\u003cp\u003e在最近的\u003ca href=\"https://www.infoq.cn/article/2018%2F08%2Fgo-cloud-opensource\"\u003e一篇文章\u003c/a\u003e中,谷歌宣布在他们的函数即服务产品云函数上支持Go 1.11。在这项声明中,除了之前就支持的Node.js和Python之外,Go也加入了这一阵容,成为云函数支持的编程语言。\u003c/p\u003e\n\u003cp\u003eGo是谷歌设计的一种开源编程语言,在1.11版本中,他们添加了模块概念。这些模块管理Go项目中使用的第三方包的依赖关系,与.NET的NuGet和node.js的NPM类似。令人惊讶的是,尽管Go有谷歌背景,但谷歌云函数并不是第一个支持这种语言的FaaS,因为IBM 云函数和AWS Lambda去年已经宣布了这项支持。尽管如此,社区欢迎对该语言的支持,因为他们发现它与FaaS实现结合效果非常好。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e最后,Go非常适合云函数,因为其函数的冷启动速度非常快。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e去年,我在lambda上测了有数据库连接的node.js和Golang函数,冷启动时间分别为3148毫秒和1648毫秒。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e函数即服务是一个流行的概念,所有主要的云供应商都有它自己的实现,无论是谷歌云函数、Azure函数,还是AWS Lambda。通常,函数会在事件发生时运行一段代码,并且经常实现为无服务器架构的一部分,Stackify创始人兼首席执行官Matt Watson有过下面这样的描述。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFaaS的概念是通过无服务器架构进行无服务器计算。软件开发人员可以利用这一点来部署单个的“功能”、操作或一块业务逻辑。它们可以在几毫秒内启动并处理单个请求,然后进程结束。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e谷歌云函数的用法没有什么不同,它提供了两种不同的调用方法。第一个是HTTP函数,它使用HTTP请求调用,并允许从任何兼容HTTP的客户端使用。另一方面,还有后台函数,由事件触发,例如从云存储或Firebase触发。通过这些事件,可以实现各种场景,其中,云函数的教程中有几个例子。相应地,这包括从Slack中搜索谷歌知识库或从图片中提取和翻译文本等应用程序。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c5107a35fa44.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003cp\u003e已经有几篇博文展示如何开始在云函数上使用Go,例如Posse Productions创始人Luke Freeman。在\u003ca href=\"https://medium.com/yakka/cloud-functions-in-go-94c1014a6fe4\"\u003e这篇文章\u003c/a\u003e中,Luke展示了如何设置这类项目的结构,如何创建函数,以及如何测试和使用它们。最后,他介绍了部署过程,对各个开发阶段进行了完整的概述。\u003c/p\u003e\n\u003cp\u003e查看英文原文:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.infoq.com/news/2019/01/cloud-functions-go-support\"\u003ehttps://www.infoq.com/news/2019/01/cloud-functions-go-support\u003c/a\u003e\u003c/p\u003e\n

你可能感兴趣的:(谷歌云为什么选择支持Go语言?)