具有峰值容量吞吐量选项的 Pub Sub Lite 主题

Pub Sub Lite topics with Peak Capacity Throughput option

我们正在使用 Pub Sub lite 实例和预留,我们想通过 Terraform 部署它,在 UI 创建 Pub Sub Lite 时,我们可以选择指定峰值发布吞吐量(MiB/s) 和峰值订阅吞吐量 (MiB/s),根据此文档 https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/pubsub_lite_topic.

,资源“google_pubsub_lite_topic”中不可用

resource "google_pubsub_lite_reservation" "pubsub_lite_reservation" {
  name = var.lite_reservation_name
  project = var.project
  region  = var.region
  throughput_capacity = var.throughput_capacity
}

resource "google_pubsub_lite_topic" "pubsub_lite_topic" {
  name    = var.topic_name
  project = var.project
  region  = var.region
  zone    = var.zone
  partition_config {
    count = var.partitions_count
    capacity {
      publish_mib_per_sec   = var.publish_mib_per_sec
      subscribe_mib_per_sec = var.subscribe_mib_per_sec
    }
  }

  retention_config {
    per_partition_bytes = var.per_partition_bytes
    period              = var.period
  }

  reservation_config {
    throughput_reservation = google_pubsub_lite_reservation.pubsub_lite_reservation.name
  }

}

目前使用上面的TF脚本来创建pub sub lite实例,这里的问题是我们提到的是吞吐能力而不是设置峰值吞吐能力,并且capacity block是必填字段。如果有任何解决方法,请帮忙?我们希望主题动态设置吞吐量但对吞吐量有峰值限制,因为我们正在为精简版预留设置固定值。

如果您查看 Google 云控制台屏幕截图的底部,您可以看到它建议有 4 个分区,发布和订阅吞吐量为 4MiB/s。

因此您的 Terraform partition_config 应该与此匹配。 4 个分区的计数应为 4,每个分区的发布容量为 4MiB/s,订阅容量为 4MiB/s。

web UI 中的“峰值吞吐量”只是为了方便您在这里选择一些数字。实际的基础 PubSub Lite API 实际上没有这个字段,这就是为什么也没有 Terraform 设置的原因。您会注意到示例文档需要 per-partiton 设置,就像 Terraform 一样。

例如。 https://cloud.google.com/pubsub/lite/docs/samples/pubsublite-create-topic

我认为唯一的其他选择是创建一个 reservation 附加到您的主题,并为所需的容量提供足够的吞吐量单位。然后完全省略 Terraform 中的 capacity 块,让保留决定。