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



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

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

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

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

  • 每个 GCP 项目提供多种服务
  • 每个服务多个版本

默认情况下,部署将转到default服务,若要部署到其他服务,请在app.yaml文件中使用service: my-service。在此页面上阅读有关如何构建应用和组织文件的详细信息。

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

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

  • 将不同的语言服务部署到同一应用程序 [Google App Engine]
  • GAE+ 上的微服务 标准和灵活 GAE 服务的组合

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

但是,您可能需要格外小心,以保持数据存储索引定义在所有服务中保持一致(数据存储索引配置是应用程序级别的配置,而不是服务级别的配置(。另请参阅:我是否需要在每个使用它的微服务(模块(中定义数据存储索引,还是仅在根应用程序中定义数据存储索引?

最新更新