如何在 GAE Standard Go 中缩减到 0 个实例

Jus*_*lyn 8 google-app-engine go google-cloud-platform

我已将 Golang 应用程序部署到 Google Cloud Platform 的 App Engine Standard 环境。

我的 app.yaml 包括以下几行:

  automatic_scaling:
  min_idle_instances: 0
  max_idle_instances: 0
  min_pending_latency: automatic
  max_pending_latency: automatic
  min_instances: 0
  max_instances: 2
Run Code Online (Sandbox Code Playgroud)

我的意图是应用程序在空闲时应该缩减到 0 个实例,并生成最多 2 个实例来处理传入的请求。

调用该服务后,我注意到它永远不会缩减到 0 个实例。

我在web控制台打开服务配置,发现如下:

runtime: go
api_version: go1
env: standard
threadsafe: true
instance_class: F1
handlers:
  - url: /penguin
    script: _go_app
automatic_scaling:
  min_idle_instances: automatic
  max_idle_instances: automatic
  min_pending_latency: automatic
  max_pending_latency: automatic
  max_instances: 2
Run Code Online (Sandbox Code Playgroud)

是否可以将 App Engine 标准服务缩减为 0 个实例?在 yaml 中应该是什么样子?

swi*_*cks 7

App Engine标准环境默认缩减为 0 个实例,因此您不必在 app.yaml 中指定它。您只需要在自动缩放中指定要更改的值。有关默认缩放值列表,请参阅文档automatic_scaling

部署后,您最多应该只显示 1 个实例,但您将按使用量计费,即 0。

(另请注意,这并不能适用于App Engine的灵活的环境)