3

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

4

3 回答 3

5

是的!

该功能现在处于 alpha 阶段:https ://cloud.google.com/compute/docs/autoscaler/scaling-queue-based

于 2017-01-29T01:27:30.360 回答
2

我自己没有尝试过,但是查看文档,看起来可以针对 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

于 2016-04-16T18:33:46.373 回答
1

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

用于扩展的有效利用率指标满足以下标准:

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

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

pubsub 指标不符合该标准。

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

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

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

于 2016-12-13T14:19:20.680 回答