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

时间:2018-06-30 23:52:32

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

默认情况下,部署会转到default服务,以部署到service: my-service文件中的用户app.yaml的其他服务。详细了解如何在ScrollConfiguration上构建应用和组织文件。

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

答案 1 :(得分:2)

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

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

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