创建或删除新的GAE实例时,PubSub增加/减少CloudSQL内存



当部署新的GAE实例时,如何创建一个pub/sub主题来运行以下命令?

gcloud sql instances patch <instance_name> --cpu=2 --memory=8GB

和下面的命令当加载平衡器删除此实例时?

gcloud sql instances patch <instance_name> --cpu=1 --memory=6GB

第一件事是获取给定服务的实例,您可以使用apps.services.versions.instances.list方法实现它。之后,您应该使用Curl使用Cloud SQL API来管理实例。

第二部分将是自动化的,因为我可以考虑使用cloud Scheluder每一个x触发的时间触发:

  • pub/sub要发布到主题,这将触发云运行代码的功能。

  • 目标将运行代码

  • 的App Engine HTTP处理程序

除此之外,还要考虑到如果您更改云SQL实例,您将在几分钟内经历停机时间。您可以依次创建故障转移,更改它,然后执行故障。请记住,这将在故障转移已上升的时间内产生额外的成本,而且您还将更改云实例的区域。

编辑高可用性:

高可用性为数据冗余创建了第二个实例。这是在此刻,主要实例通过切换到具有相同数据的较新实例而变得不健康。

如文档中所述:

  1. 主要实例失败。

  2. 每秒,主要实例将系统数据库写入 心跳信号。如果未检测到多个心跳(以及 故障转移复制品是健康的),启动故障转移。如果发生这种情况 主要实例在大约60秒内无反应或 主要区域经历停电。

  3. 云SQL等待故障转移副本赶上主 实例的状态。

  4. 此步骤的时间量受复制滞后的影响。

  5. 故障转移副本被提升为主要实例角色。

  6. 故障转移复制品现在提供次要区域的数据, 主实例名称和IP地址移至旧故障转移复制品。 客户端应用程序在没有的情况下重新连接到新的主要实例 需要更改其连接字符串,因为主要实例 IP地址已自动移动。查看您的实例是什么区域 从GCP控制台中提供数据,转到其概述页面。

  7. 重新创建故障转移复制品。

  8. 新的故障转移副本保留了传入的故障转移副本IP 地址并自动在健康区域中重新创建。

  9. 重新创建读取副本。

新的读取副本保留了传入的读取副本IP地址,并且是 自动在健康区域中重新创建。

最新更新