我有一个现有的Java Appengine标准项目。我正在使用Beta NodeJS标准环境编写一些新功能。两者需要共享一个公共的Cloud Datastore数据库。
单个项目可以同时托管Java和Node服务吗?如果没有,我如何在项目之间共享数据库?
答案 0 :(得分:2)
是的,单个GCP项目可以托管许多App Engine“服务”,每个服务都可以用不同的编程语言编写,并使用不同的环境(标准或灵活)。
在一个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?