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

时间:2019-02-27 00:38:14

标签: google-app-engine google-cloud-sql google-cloud-pubsub

部署新的GAE实例时,如何创建发布/订阅主题以运行以下命令?

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

负载均衡器删除此实例时,使用以下命令?

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

1 个答案:

答案 0 :(得分:0)

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

第二部分将使其自动化,为此,我可以考虑每隔X倍的时间使用Cloud Scheluder来触发两者之一:

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

  • 定位将要运行代码的App引擎HTTP处理程序

除此之外,请考虑到,如果您更改Cloud SQL实例,则将有几分钟的停机时间。您可以依次创建故障转移,对其进行更改,然后执行故障转移。请记住,这将在故障转移启动期间产生额外费用,并且您还将更改云实例的区域。

编辑High Availability

高可用性为数据冗余创建了第二个实例。暂时,这意味着通过切换到具有相同数据的新实例,主实例变得不健康。

docs中所述:

  
      
  1. 主实例失败。

  2.   
  3. 每秒,主实例作为   心跳信号。如果未检测到多个心跳(并且   故障转移副本运行正常),将启动故障转移。如果发生这种情况   主实例大约60秒钟没有响应,或者   主要区域发生故障。

  4.   
  5. Cloud SQL等待故障转移副本赶上主副本   实例的状态。

  6.   
  7. 此步骤所花费的时间受复制延迟的影响。

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

  10.   
  11. 故障转移副本现在从辅助区域提供数据,并且   主实例名称和IP地址将移至旧的故障转移副本。   客户端应用程序重新连接到新的主实例,而没有   需要更改其连接字符串,因为主要实例   IP地址已自动移动。查看您的实例所在的区域   提供数据,请转到GCP控制台中的“概述”页面。

  12.   
  13. 重新创建故障转移副本。

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

  16.   
  17. 只读副本已重新创建。

  18.   
     

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