云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站空间_网站建设十大公司_新用户

小七 141 0

专有网络 VPC_哪个_国内人工智能发展

Google的DPE客户端库团队负责发布维护,大数据技术及数据分析培训,数据技术与大数据技术,并支持Google云客户端库。本质上,我们是GitHub上Google 350多个存储库的开源维护者。这是一项艰巨的工作……

为了使这项工作具有可扩展性,自动化各种常见任务至关重要,例如验证许可证、管理发布以及在测试通过后合并请求(pr)。为了制造各种自动化设备,我们决定使用节点.js-基于框架Probot,它简化了编写从githubapi侦听webhook的web应用程序的过程。[编者按:团队在节点.js. 合著者Benjamin Coe是npm公司的三级工程师,目前是该领域的核心合作者节点.js.]

除了Probot框架,我们决定使用云功能来部署这些自动化,目的是减少我们的操作开销。我们发现,大数据处理平台,云函数是一个很好的选择,可以快速、轻松地进行转换节点.js应用到托管服务:

向前跳两年,我们现在管理16个自动化,每天处理来自GitHub的超过200万个请求。我们继续使用云功能来部署我们的自动化系统。贡献者可以专注于编写他们的自动化程序,我们可以很容易地将它们作为功能部署到我们的生产环境中。

为无服务器设计带来了自己的一系列挑战,围绕着如何构建、部署和调试应用程序,但我们发现这种取舍是可行的我们。整个本文的其余部分将根据这些第一手经验,概述部署节点.js在云功能上的应用,强调以下目标:

带着这些概念,你也可以从跑步中获得运营上的好处节点.js-在一个无服务器的环境中基于应用程序,同时避免潜在的陷阱节点.js在编写用于部署云函数的代码时,必须记住的运行时。最值得关注的是:

以此为背景,以下是我们最好的写作建议节点.js将在云函数中运行的代码。

1。明智地选择您的依赖项

在gVisor沙盒中运行云功能的磁盘操作可能会比在笔记本电脑的典型操作系统上慢(这是因为gVisor在操作系统之上提供了额外的安全层,代价是一些额外的延迟)。因此,大数据教程,最小化npm依赖树可以减少引导应用程序所需的读取,从而提高冷启动性能。

您可以运行命令npm ls--production来了解应用程序有多少依赖项。然后,你可以使用在线工具bundlephobia.com网站分析各个依赖项,包括它们的总字节大小。您应该从应用程序中删除所有未使用的依赖项,并选择较小的依赖项。

同样重要的是,要选择从依赖项导入的文件。以npm上的库googleapis为例:运行require('googleapis')会拉入googleapi的整个索引,从而导致数百次磁盘读取操作。相反,您可以只使用与之交互的Google API,如下所示:

,云服务器免费