您能否拥有两个与同一个Cloud SQL数据库对话的Google Cloud Project?

问题描述 投票:0回答:2

我刚刚在Google Cloud中创建了一个项目,并将Cloud SQL数据库实例附加到该项目。我能够部署连接到该数据库的Django应用程序就很好了。

但是,我想创建一个单独的Django应用程序/项目,该应用程序和项目附加到与我的第一个Django应用程序相同的Cloud SQL数据库。

这可能吗?

[一个Django应用程序负责Web抓取并将常量数据提供给数据库,而我的第二个Django应用程序(我已经部署的应用程序)负责分析并返回该数据的json。分离两个应用程序将是有利的,因为如果我需要修改Web抓取算法,则整个应用程序都不会关闭。

mysql django google-cloud-platform google-cloud-sql
2个回答
0
投票

您可以为两个应用程序都使用cloudsql代理。同样,只要您用service account授权了两个可以访问cloudsql的应用程序,它就可以了。


0
投票

您可以在当前项目或外部项目中使用所需的数据库。如果您使用Cloud SQL代理,则您应用的服务帐户

  • 如果在App Engine上,则为默认的AppENgine服务帐户
  • 或Compute Engine默认服务帐户
    • 除非您已在组件(Cloud Run,Compute引擎)上定义了特定的服务帐户,但>
    • 我强烈建议在组件上使用特定的服务帐户(对于App Engine来说是不可能的)]

要在服务帐户上授予的角色如下:roles/cloudsql.client

[然而

,我建议您明智地考虑设计。当前的趋势是将1个数据库锁定为1个服务(或微服务)。

考虑架构更新:当您更新一个或两个架构时,将需要在2个服务之间进行同步更新,否则另一个应用程序将失败。

回滚时也是如此,两个应用都需要回滚。

如果有2个团队,每个应用程序上有一个团队,则他们的发布计划必须同步,您将失去速度和敏捷性。

也许,它符合您的要求,或者您可以在数据库(其他模式)中复制数据。如您所愿。

© www.soinside.com 2019 - 2024. All rights reserved.