Google创建了V8 JavaScript引擎:V8首次执行时,会将JavaScript源代码直接编译为机器代码。
Node.js是基于V8构建的 - 为什么Google不提供像Microsoft Azure这样的Node.js服务器?
Google App Engine是放置Node.js的自然场所。
你知道谷歌为什么不这样做吗?
答案 0 :(得分:40)
Node.js由Joyent维护,他是Google的竞争对手。
Node.js与谷歌没有任何联系,但实际上是建立在谷歌开发的开源项目之上。
Google可能会像Azure一样加入这项业务,但已经有很多PaaS在做这件事,可能不值得。我从未使用过GAE,但我的理解是它与其他PaaS完全不同,你必须使用GAE库来运行代码。
其中,这是我个人的感受,并不是Node.js社区正在寻找的东西。 Node.js用于快速制作快速轻量级应用程序,例如,用于手机应用程序API的大部分内容。
然而,如果你正在寻找Node.js的PaaS,那里有很多:
这些只是我头脑中的一些名字。有很多,但那些是主要的。 哦,还有Heroku,但他们不支持WebSocket,这对任何基于Socket.IO的应用程序来说都是一个无赖。
答案 1 :(得分:32)
截至2014年6月,Google对Google App Engine (which is different from Google Compute Engine)上的自定义语言预览有限。
关注Building Node.js applications with App Engine and Custom Runtimes并查看https://cloud.google.com/appengine/docs/managed-vms/:
App Engine现在提供第二个托管选项:托管虚拟机。托管VM托管环境允许您在可配置的计算引擎虚拟机(VM)上运行App Engine应用程序。 您还可以使用托管虚拟机部署用户可配置的custom runtimes,例如Node.js和其他运行时。
进入测试阶段的程序是:
托管虚拟机处于有限预览状态,您必须注册才能访问此功能,创建启用结算的项目,并告诉我们您的项目,以便我们将其列入白名单以在托管虚拟机中运行。请按照以下步骤操作:
当我们收到您的电子邮件时,我们会在幕后配置一些资源,并在您的项目准备就绪时通过电子邮件通知您。该电子邮件包含最终安装说明。如果您在按照这些说明操作时遇到错误,请通过app-engine-managed-vm-tt-id@google.com与我们联系。
答案 2 :(得分:23)
您可以在Google Compute Engine(基本上是虚拟计算机)上轻松安装节点。这是一个链接: https://developers.google.com/datastore/docs/getstarted/start_nodejs/
此致 拉斯
答案 3 :(得分:21)
我认为google appengine实际上是云计算行业的老式时尚服务。这对于新技术来说很慢,难以部署,浪费时间来学习api,并且缺少您使用的语言所需的许多功能。
无论google的大型社区,我都不会建议任何人使用google appengine。
[较新的paas]
我强烈建议您使用openshift,appfog,heroku .etc的新paas云计算技术,这些技术更具可扩展性,更少需要更改,更可从一个平台迁移到另一个平台,更自由地编码自然语言的美感和它的标准库没有丑陋的平台特定的apis。
[IaaS的]
如果你想要更好地控制运行的os环境,你可以试试linode,数字海洋,亚马逊,谷歌云引擎,微软天蓝等。我们试试看。
答案 4 :(得分:13)
由于App Engine是一种平台即服务,并且为了向GAE添加新的语言/堆栈,Google需要创建与plethora of App Engine's services接口的中级库。
此外,all App Engine apps is sandboxed并且在沙盒环境中限制了一些功能。这意味着除了需要创建服务库之外,Google还需要为他们尝试引入GAE的任何语言/堆栈创建安全的沙箱环境。
我个人认为第二个原因是为什么Google不像Azure那样引入对新语言/堆栈的支持。在某种程度上,App Engine比Azure更“管理”,并且新语言/堆栈的初始开发成本更高。
答案 5 :(得分:3)
Node.js最近启用了对Google Cloud用户的支持。主要文件页面是:
目前似乎需要一个计算引擎实例。
答案 6 :(得分:3)
它已于2016年3月发布。
https://cloudplatform.googleblog.com/2016/03/Node.js-on-Google-App-Engine-goes-beta.html
答案 7 :(得分:3)
背景:App Engine标准版与App Engine灵活
这个主题似乎有些混乱,因为有两个版本的App Engine:标准版和灵活版。 App Engine上支持NodeJS,但App Engine Standard上支持 NOT 。 (有关差异的更完整说明,请参阅here。)
App Engine Standard以秒为单位(与灵活环境的分钟数相对),并且具有免费套餐,因此您无需花费一分钱即可开发和演示。这些好处是以灵活性为代价的。 App Engine Standard仅支持某些语言和库,不允许写入磁盘或SSH。换句话说,环境是标准化的。
答案:App Engine Standard上的NodeJS支持
如果您对App Engine 标准 上的NodeJS支持感兴趣,请解决此问题:https://issuetracker.google.com/issues/67711509。
Google解决了社区关注的功能(请参阅here)。引起您注意此功能的最佳方式是在与上面链接的Google问题跟踪器上加注星标。
答案 8 :(得分:1)
Google于2016年3月21日宣布Google App Engine上的Node.js正在测试:https://cloudplatform.googleblog.com/2016/03/Node.js-on-Google-App-Engine-goes-beta.html?m=1
这是预期的,因为谷歌也加入了Node.js基金会,谷歌开发了支持Chrome和Node.js的V8 JavaScript引擎:https://nodejs.org/en/blog/announcements/welcome-google/
谷歌同时宣布与NodeSource建立合作伙伴关系。
答案 9 :(得分:1)
答案 10 :(得分:0)
Google是一家软件保守的公司。使用JavaScript编写后端对于Google的经理来说绝对是不可想象的。创建基础设施谷歌本身不会使用不是一个好的投资。参考:Notes from the Mystery Machine Bus
答案 11 :(得分:0)
(2021 年 6 月) 这个问题已有近十年的历史了,自 OP 以来,很多事情都发生了变化。 TL;DR:Google 的 6 种不同的无服务器计算平台支持 JavaScript 和/或 Node.js:4 on GCP 和 Google Workspace 和 Firebase 各一个发布日期:
另请参阅 Google Cloud 的 overall support of/for Node.js。