【问题标题】:Running a Fully-Managed, Always-Available node.js script on Google Cloud Platform在 Google Cloud Platform 上运行完全托管、始终可用的 node.js 脚本
【发布时间】:2017-06-23 00:26:49
【问题描述】:

我是particle.io 的忠实粉丝,当他们添加了谷歌云平台 (GCP) 集成以便我可以将我的 IoT 数据保存到 GCP“DataStore”中时,我感到非常兴奋。

我已经按照他们的教程进行了操作,但我需要一些关于实现它的建议,以便它可以在 GCP 上扩展。

我目前的实现是这样的: https://docs.particle.io/tutorials/integrations/google-cloud-platform/#example-use-cases

基本上我有一个 GCP“计算引擎”实例,它运行一个 node.js 脚本,该脚本监听 PubSub 事件(由我的 IoT 设备发送)并将其保存到 DataStore。

现在因为我希望它可以扩展,理想情况下,这个 node.js 脚本应该在可以自动响应峰值的托管服务上运行。但是 GCP 好像没有这样的东西。

在 AWS 我可以这样: 物联网数据 -> Particle.io AWS WebHook -> AWS API Gateway Endpoint -> AWS Lambda -> AWS DynamoDB

所有 AWS 点都得到管理。

让 node.js 脚本始终在 GCP 上以完全托管、始终可用的方式运行的最佳方式是什么?它可以运行我的 node.js 脚本,该脚本侦听 PubSub 事件并保存到 DataStore 并随着负载的增加自动扩展

任何帮助/建议将不胜感激。

非常感谢, 标记

【问题讨论】:

  • google云功能可用,相当于AWS Lambda。我认为,它处于 alpha 阶段。看看这个。可以使用 GCF 建立相同的无服务器工作流。
  • 是的,Cloud Functions 非常适合此功能,但它仍处于预览阶段,我需要一个生产就绪选项。

标签: google-app-engine google-cloud-platform google-compute-engine google-cloud-endpoints


【解决方案1】:

您有多种选择:

1- 正如其他人提到的,有云函数。它基本上是您部署的一个 Node.js 函数,Google Cloud 会为您进行扩展/缩减。

2- 您可以将 Node.js 应用部署到默认启用自动缩放功能的 App Engine Flex。

3- 如果您想继续使用 Compute Engine,可以在 Compute Engine 上手动设置自动缩放。

【讨论】:

  • 谢谢。 (1) 将是理想的,但云功能仍处于预览阶段,因此我不想在生产中使用它。似乎您也可以使用“DataFlow”来执行此操作,但这似乎很复杂并且不支持 node.js(我可能是错的)。我可能会选择 (2),但我担心让 App Engine 仅用于监听事件的成本。
猜你喜欢
  • 1970-01-01
  • 2020-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多