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

2019 年 1 月 30 日

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

在最近的一篇文章中,谷歌宣布在他们的函数即服务产品云函数上支持 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 中搜索谷歌知识库或从图片中提取和翻译文本等应用程序。



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


查看英文原文:


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


2019 年 1 月 30 日 10:138545
用户头像

发布了 323 篇内容, 共 140.6 次阅读, 收获喜欢 661 次。

关注

评论

发布
暂无评论
发现更多内容

白玉试毒 | 灰度架构设计方案

高翔龙

架构设计 互联网架构设计 灰度 灰度发布 发布流程

第8周总结

Vincent

极客时间 极客大学

基于 Spring Boot 的企业级快速开发框架 BDF3

木香丘

架构 Spring Boot 可视化 后台管理系统

Serverless 多云解决方案 Malagu

木香丘

云计算 Serverless 架构 云原生 Malagu

架构师训练营第三小结(9.28-10.4)

zjzj2017

腾讯T6熬夜硬肝Lua程序员实战宝典,深入阐述虚拟机、编译器

周老师

Java 编程 程序员 架构 面试

深入剖析go中字符串的编码问题——特殊字符的string怎么转byte?

新世界杂货铺

go golang 后端 string utf-8

可穿戴的“舌头鼠标”,催生“黏腻”人机交互的新想象?

脑极体

时空停滞

Sean

调试 心得

那个百无一用的技术主管

极客思享

算法岗有没有泡沫

极客思享

演化过程中的技术与业务双驱引擎

boshi

云计算 架构 中台 成长 数字化

甲方日常 26

句子

生活 随笔杂谈 日常

Python 为什么不支持 switch 语句?

Python猫

Python 编程

Malagu 框架介绍

木香丘

云计算 开源 Serverless 架构 框架

中小企业如何启动产品科普直播?

boshi

内容 营销 直播 企业应用

手把手教你锤面试官 02——设计模式轻松答

慵懒的土拨鼠

Java 设计模式 面试求职

「架构师训练营第 1 期」第三周作业

张国荣

技术人为什么该坚持写作?

极客思享

共享服务中心建设原则-《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》

Man

中台 研发管理 DDD

java安全编码指南之:方法编写指南

程序那些事

java安全编码 java安全 java安全编码指南

缓存服务-技术专题-解决方案

李浩宇/Alex

惊艳!腾讯微软内部5大算法文档+源码,大厂offer拿到手软

小Q

学习 架构 数据结构 面试 算法

第8周作业

Vincent

极客时间 极客大学

week03总结

xxx

使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源(二)

mzlogin

jsDelivr CDN Jekyll GitHub Pages 个人博客

spring-boot-route(八)整合mybatis操作数据库

Java旅途

Java Spring Boot mybatis

菜鸟工程师的超神之路 -- 从校园到职场

极客思享

week03作业

xxx

极客时间架构 1 期:第 3 周代码重构 - 学习总结

Null

如何高质量学习与正确运用设计模式

木香丘

学习 设计模式 实战

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