您能否在基于 Cloud Pub/Sub 队列的 Google App Engine 中触发自动缩放?
Can you trigger autoscaling in Google App Engine based on Cloud Pub/Sub queue?
我知道您可以在扩展 Compute Engine 实例组时根据队列大小配置自动扩展,但我不确定如何在基于 App Engine 的灵活环境中复制此行为。这可能吗?
我希望能够将我的前端服务与我的后端分离并允许它们异步工作,但我不确定如何使用可能变得非常大的 pub/sub 队列大小来扩展后端。我在 app.yaml
的 autoscaling
部分看到的唯一缩放选项与 CPU 利用率有关。
App Engine 柔性环境目前仅支持基于目标 cpu 利用率的自动缩放(有关缩放设置,请参阅 doc)。
另请注意,您无法设置具有自动缩放功能的 运行 实例的实际数量,而只能设置 "max_num_instances" 值。您可以通过 App Engine Admin API 的 apps.services.versions.patch 方法以编程方式将其更新为更高的值,但自动缩放器仍将决定仅根据 cpu 利用率实际生成新实例。
您提到的最佳选择是允许并发请求和多线程,以便最大程度地利用每个实例。然后,您可以调整 cpu 的 target_utilization 值,以便在需要时生成新实例。
我知道您可以在扩展 Compute Engine 实例组时根据队列大小配置自动扩展,但我不确定如何在基于 App Engine 的灵活环境中复制此行为。这可能吗?
我希望能够将我的前端服务与我的后端分离并允许它们异步工作,但我不确定如何使用可能变得非常大的 pub/sub 队列大小来扩展后端。我在 app.yaml
的 autoscaling
部分看到的唯一缩放选项与 CPU 利用率有关。
App Engine 柔性环境目前仅支持基于目标 cpu 利用率的自动缩放(有关缩放设置,请参阅 doc)。
另请注意,您无法设置具有自动缩放功能的 运行 实例的实际数量,而只能设置 "max_num_instances" 值。您可以通过 App Engine Admin API 的 apps.services.versions.patch 方法以编程方式将其更新为更高的值,但自动缩放器仍将决定仅根据 cpu 利用率实际生成新实例。
您提到的最佳选择是允许并发请求和多线程,以便最大程度地利用每个实例。然后,您可以调整 cpu 的 target_utilization 值,以便在需要时生成新实例。