google-app-engine - GAE:仅为默认服务版本指定 min_instances
问题描述
我们在 Google App Engine 上运行了一项服务。如果该服务在一段时间内没有收到流量,则所有实例都将被终止,并且下一次调用需要几秒钟才能启动应用程序。我们正在考虑指定一个 min_instances 选项app.yaml
以始终保持至少一个实例处于活动状态。
我们非常频繁地部署该服务的新版本,并将旧版本保留一段时间。那些旧版本不提供流量服务,以防万一。
我们想做的是始终保持至少一个默认服务版本的实例处于活动状态,并让所有其他非默认版本保持默认行为——如果它们没有收到任何流量,我们希望它们自动缩放到 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
推荐阅读
- javascript - 如何选择在另一个属性中具有特定值的标记的 XML 属性值?
- javascript - 在three.js中将材料分配给加载的.obj而不带.mtl
- scala - 我如何在 Scala SBT 项目上实施 AWS Secrets Manager
- angularjs - AngularJS过滤器(对象和多个值)不起作用
- c - CLOCK_MONOTONIC 和 CLOCK_MONOTONIC_COARSE 是否具有相同的基础?
- django - get_by_id() vs objects.get() vs objects.filter() 之间的差异
- javascript - 一个函数的结果作为其他函数的参数
- sql - 尝试为用户所属的群组中的社交帖子构建 SQL 或 Knex 查询
- azure - 在 Azure 功能中连接-azureAD powershell
- concatenation - 在 TABLEAU 工作表中用逗号作为分隔符连接一行中的值