GAE:仅为默认服务版本指定 min_instances
GAE: Specify min_instances only for default service version
我们在 Google App Engine 上有一项服务 运行。
如果该服务在一段时间内没有收到流量,那么所有实例都会被终止,下一次调用需要额外几秒钟才能启动应用程序。
我们正在考虑在 app.yaml
中指定一个 min_instances 选项,以始终保持至少一个实例处于活动状态。
我们非常频繁地部署该服务的新版本,并保留旧版本一段时间。那些旧版本不提供流量,以防万一。
我们想要做的是始终保持至少一个默认服务版本的实例处于活动状态,并让所有其他非默认版本具有默认行为——我们希望它们在不存在时自动缩放到 0 个实例接收任何流量。
我没有在文档中找到这样的选项 (https://cloud.google.com/appengine/docs/standard/python3/config/appref#scaling_elements),也没有找到任何解决方法。
我正在考虑创建一个 cron 作业 (https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml),它将定期“ping”我的应用程序的默认版本,从而使其始终处于休眠状态。但我不确定这是否是好的解决方案。
有没有更好的解决办法?
谢谢!
min_idle_instances 配置选项似乎解决了我的问题。
请注意文档中的以下内容:“此设置仅适用于接收大部分流量的版本”,这几乎正是我的情况:
automatic_scaling:
min_idle_instances: 1
我们在 Google App Engine 上有一项服务 运行。
如果该服务在一段时间内没有收到流量,那么所有实例都会被终止,下一次调用需要额外几秒钟才能启动应用程序。
我们正在考虑在 app.yaml
中指定一个 min_instances 选项,以始终保持至少一个实例处于活动状态。
我们非常频繁地部署该服务的新版本,并保留旧版本一段时间。那些旧版本不提供流量,以防万一。
我们想要做的是始终保持至少一个默认服务版本的实例处于活动状态,并让所有其他非默认版本具有默认行为——我们希望它们在不存在时自动缩放到 0 个实例接收任何流量。
我没有在文档中找到这样的选项 (https://cloud.google.com/appengine/docs/standard/python3/config/appref#scaling_elements),也没有找到任何解决方法。
我正在考虑创建一个 cron 作业 (https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml),它将定期“ping”我的应用程序的默认版本,从而使其始终处于休眠状态。但我不确定这是否是好的解决方案。
有没有更好的解决办法?
谢谢!
min_idle_instances 配置选项似乎解决了我的问题。 请注意文档中的以下内容:“此设置仅适用于接收大部分流量的版本”,这几乎正是我的情况:
automatic_scaling:
min_idle_instances: 1