我可以在单个 AppEngine 项目中混合使用编程语言吗?

Can I mix programming languages in a single appengine project?

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

一个项目可以同时托管 Java 和 Node 服务吗?如果没有,我如何在项目之间共享数据库?

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

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

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

默认情况下,部署会转到 default 服务,要部署到其他服务,请在 app.yaml 文件中使用 service: my-service。在 this page.

上阅读有关如何构建应用程序和组织文件的更多信息

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

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

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

但您可能需要格外小心,以保持数据存储索引定义在所有服务中保持一致(数据存储索引配置是应用程序级配置,而不是服务级配置)。另见: