【问题标题】:Multiple NodeJS Services/Modules on Google App Engine Flexible EnvironmentGoogle App Engine 柔性环境中的多个 NodeJS 服务/模块
【发布时间】:2017-02-25 12:59:29
【问题描述】:

我正在努力弄清楚如何在 google app engine flexible 上部署多个 nodejs 服务。

我正在使用多个带有 firebase-queue 的 nodejs 类来处理我的任务。 现在,我正在使用我的 package.json 来触发立即启动所有内容。 然而,这已经成为问题。我希望能够将更改推送到一个特定的服务/脚本,而不必停止所有其他脚本。

我的 package.json 目前看起来像这样:

"scripts": {
    "task1": "node ./src/task1.js",
    "task2": "node ./src/task2.js",
    "start": "npm-run-all -p task1 task2"
}

我正在使用不同的 .yaml 文件来确定我想要推送的构建变体(调试或发布),但我发现很难单独部署每个任务。我找到了有关如何在 python 中执行此操作的文档,但在 nodejs 上没有找到。有人有什么建议吗?

【问题讨论】:

  • 我听到了,我在这个话题上已经有一段时间了,现在试图找出一种发送设备到设备通知的方法;说当有新消息到达时。我无法为您提供任何帮助,因为我正试图弄清楚如何在应用引擎上部署 Firebase 队列并使其正常工作。如果您遇到任何我可以使用的提示或教程,我将不胜感激。再次抱歉没有提供帮助..
  • @TheeBen 为每种类型的队列任务创建一个 my-queue-processer.js,按照 firebase-queue 指南进行设置,然后使用我下面的答案分离成单独的服务,然后部署??? ?
  • 谢谢,我已经设置了 firebase 队列。只是想知道有多个,我很确定应该有一种方法来组合它们。我正在尝试找到降低谷歌应用引擎成本的优化方法
  • @TheeBen 我在单个服务上运行所有内容,但我只是意识到每个服务都使用一个实例。账单会很高!他们在一项服务上运行良好,但一个异常将他们全部搞定的风险令人担忧。如果你发现任何东西,请告诉我????

标签: node.js google-app-engine firebase app-engine-flexible firebase-queue


【解决方案1】:

(回答我自己的问题,非常感谢 Justin 的帮助)

我在动态更改脚本以在我的 package.json 中启动时特别遇到问题。 我发现 package.json 可以使用 '$'

访问环境变量

package.json:

"scripts": {
    "start": "node $SCRIPT_TO_RUN"
}

myService.yaml

runtime: nodejs
vm: true
api_version: 1
instance_class: B4
manual_scaling:
  instances: 1
service: cart-monitor-dev

env_variables:
  SCRIPT_TO_RUN: './src/mytask.js'

然后部署使用:

gcloud app deploy myService.yaml

【讨论】:

  • 这正是我想要的!该文档讨论了微服务架构有多棒,但实际上并未解释您如何在同一个项目中运行不同的服务。
【解决方案2】:

这正是存在 App Engine 服务的原因 :) 您可以为要部署的每个服务创建一个 {serviceName}.yaml。然后,为每个人拨打gcloud app deploy service.yaml。这会在同一个应用程序中创建多个服务。示例见:

https://github.com/JustinBeckwith/cloudcats

希望这会有所帮助!

【讨论】:

  • 感谢贾斯汀,我这样做是为了确定我是在部署生产版本还是开发版本。这是我需要动态定义的 package.json 中默认的 "scripts":{"start":"scripts to run..."} 。我不知道如何使用 yaml 来做到这一点。有小费吗?我查看了您的存储库,但它似乎也只运行一个服务?感谢帮助?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-24
  • 2018-11-28
  • 2017-09-30
  • 2016-10-07
  • 2018-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多