【问题标题】:Can I mix programming languages in a single appengine project?我可以在单个 appengine 项目中混合编程语言吗?
【发布时间】:2018-06-30 23:52:32
【问题描述】:

我有一个现有的 Java Appengine 标准项目。我正在使用 beta NodeJS 标准环境编写一些新功能。两者需要共享一个通用的 Cloud Datastore 数据库。

单个项目能否同时托管 Java 和 Node 服务?如果没有,如何在项目之间共享数据库?

【问题讨论】:

  • 您可以查看可用于 App Engine 灵活和标准环境的所有可用语言here

标签: google-app-engine google-appengine-node


【解决方案1】:

是的,一个 GCP 项目可以托管许多 App Engine“服务”,这些服务中的每一个都可以用不同的编程语言编写并使用不同的环境(标准或灵活)。

在一个 GCP 项目中,您可以:

  • 每个 GCP 项目有许多服务
  • 每个服务有多个版本

默认情况下,部署转到default 服务,要部署到不同的服务,请在app.yaml 文件中使用service: my-service。在this page 上阅读有关如何构建应用程序和组织文件的更多信息。

基本上,任何已部署的 App Engine“版本”都独立于其他已部署的“版本”。例如,在一个服务中,您可以让第一个版本运行 Java,而下一个版本运行 Node.js。

【讨论】:

    【解决方案2】:

    是的,您可以使用任何语言编写的标准和灵活环境服务的任意组合,另请参阅:

    您无需执行任何特殊操作即可共享数据存储区,它会自动由所有应用的服务共享。

    但您可能需要格外小心,以使所有服务的数据存储索引定义保持一致(数据存储索引配置是应用级别的配置,而不是服务级别的配置)。另见:Do I need to define datastore-indexes in every microservice(module) which uses it or just in root application?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 1970-01-01
      相关资源
      最近更新 更多