0

我正在尝试使用 Flask 和 MySQL 在 Google App Engine 标准环境中设置网络应用程序。

我知道 Google App Engine 能够根据所需的性能动态扩展它的实例,但我不确定如何为我的 MySQL 服务器做到这一点。

对于 MySQL 连接,我尝试连接到 Google Cloud SQL。我知道这对单个实例是如何工作的,但我想知道是否可以连接多个实例,从而允许在使用相同数据的同时动态扩展我的存储。

到目前为止,我已经通过此链接找到了如何在 Google 计算引擎实例和 Google Cloud SQL 上执行此操作的信息,但无法了解这将如何在 Google App Engine 标准环境中工作。

4

2 回答 2

0

正如@dan-cornilescu 正确提到的那样,Google App Engine 会自动水平扩展并处理与您的 Cloud SQL 实例的连接,而您无需关心。

但是看看你对他的回答的最后评论:

谢谢,我了解 Google App Engine 可以动态扩展并让创建的实例连接到一个 Google Cloud SQL 实例,但我正在为这个 Cloud SQL 实例的有限空间和性能寻找解决方案。有没有办法可以将 Google App Engine 连接到多个实例,从而增加 Google Cloud SQL 上的数据库空间?

我将继续为您提供一些选项,以解决 Cloud SQL 实例的有限空间和性能问题。关于空间有限,在创建 Cloud SQL 实例时,您可以选中“配置机器类型和存储”下拉菜单下的“启用自动存储增加”选项。

关于拥有多个实例,请记住 Cloud SQL 实例是垂直扩展的,而不是水平扩展的,所以如果您正在寻求水平可扩展性,我建议您的第一个选择是切换到 Google Cloud Spanner 。目前是谷歌云产品中​​唯一允许这样做的数据库,并且是选择。

您还可以通过创建多个 Cloud SQL 实例来“伪造”横向可扩展性,这确实是一种最佳实践。这样做时,您只需考虑每个项目允许的实例数量为 40,如果您希望拥有更多实例,则必须请求增加。

于 2019-06-27T15:30:23.043 回答
0

每个 GAE 服务实例都将使用相同的凭据作为单独的客户端连接到您的 Google Cloud SQL。在这方面没有什么可担心的,除了如果您有许多 GAE 实例或限制 GAE 实例的数量以保持性能良好的情况下扩展/调整您的 Google Cloud SQL 实例的成本。从最佳实践(整个页面可能是一个有用的阅读):

  • App Engine 能够在负载增加时自动创建更多实例。如果 App Engine 实例的数量超过 Cloud SQL 实例的处理能力,您的 Cloud SQL 实例将无法满足需求。您可以通过限制 App Engine 实例的最大数量来避免此问题。有关详细信息,请参阅缩放元素
于 2019-06-27T03:19:19.313 回答