基于云发布/订阅队列自动调整GCE实例组

时间:2016-04-15 03:24:50

标签: google-compute-engine google-cloud-pubsub

GCE实例组可以根据Google Cloud PubSub队列计数或其他异步任务队列(如PSQ)进行放大/缩小吗?

3 个答案:

答案 0 :(得分:1)

我自己没有尝试过,但查看文档,看起来可以针对Pub / Sub消息队列计数设置自动缩放。

此页面[0]说明如何根据Cloud Monitoring服务提供的标准指标设置自动缩放器。

此页面[1]说明了可用于自动缩放器的指标。这两个看起来很有用:

pubsub.googleapis.com/subscription/num_outstanding_messages pubsub.googleapis.com/subscription/num_undelivered_messages

[0] https://cloud.google.com/compute/docs/autoscaler/scaling-cloud-monitoring-metrics [1] https://cloud.google.com/monitoring/api/metrics

答案 1 :(得分:1)

答案 2 :(得分:0)

您不能为此目的使用pubsub指标(pubsub.googleapis.com/subscription/num_outstanding_messages或pubsub.googleapis.com/subscription/num_undelivered_messages)。 根据文件:

  

用于扩展的有效利用率指标符合以下条件:

     
      
  1. 标准指标有resource_id的标签,每个流的标签值是实例的ID。

  2.   
  3. 标准度量标准描述实例的繁忙程度,并且度量标准值与组中虚拟机实例的数量成比例地增加或减少。

  4.   

pubsub指标不符合该标准。

但是,有两种方法可以使用基于pubsub的自动缩放:

  1. 编写您自己的自定义指标 - 您可以使用gcloud monitoring api获取pubsub时间序列数据。比使用它来计算您自己的自定义监控指标 - 例如 - 上次时间序列值除以您的平均/期望延迟。 您可以将此方法用于您正在使用的每个异步队列解决方案。

  2. 仍处于alpha状态,基于订阅者的自动缩放有一个gcloud api:https://cloud.google.com/compute/docs/autoscaler/scaling-queue-based。此解决方案仅适用于google cloud pubsub,您无法将其与其他异步队列解决方案一起使用。