google-app-engine - Google 应用引擎将流量拆分为单个版本
问题描述
谷歌应用引擎为每个部署创建一个新版本,它通过停止旧版本开始通过新版本提供服务(在逐渐将所有流量迁移到新版本之后)。但有时由于高负载,流量分裂到开始服务的旧版本. 如何自定义 GAE 配置或 app.yaml,以便所有流量只指向最新的一个版本,无论负载如何。
应用程序.yaml
service: service-name
runtime: java
env: flex
runtime_config:
jdk: openjdk8
handlers:
- url: /.*
script: this field is required, but ignored
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 2
network:
instance_tag: test
name: dev
subnetwork_name: dev-1
session_affinity: true
解决方案
实际上,您的应用程序已经这样做了,因为您没有将warmup
配置添加到 app.yaml,正如您在本文档中看到的那样。
但是,您的实例仍然有它的限制,当达到限制时,负载均衡器将寻找一个可用于处理请求的实例,这可能是仍在运行的旧实例。
因此,您的问题的解决方案是检查和更改您的实例的负载平衡器配置,但是,正如您在此社区帖子中看到的那样,这只有在您使用 App Engine Flexible 时才有可能,因为在 App Engine Standard 上,这由 Google Cloud 管理,您无法对其进行配置。
如果您使用的是 App Engine Flexible,您可以查看此文档以了解如何将实例组添加到负载均衡器以及如何选择最适合您的应用需求的负载均衡器。
希望这可以帮助。
推荐阅读
- curl - IBM Watson Text-to-speech API 不断抛出错误:403 Forbidden
- python - 在tensorflow的占位符中为“None+”添加特定维度是什么意思?
- php - 处方结果失败
- c# - 使用 c# 在 domino 服务器中根据用户注册密码验证验证者 id 文件
- oauth-2.0 - 注销后身份验证服务器的行为应该如何?
- jquery - 如何向已经包含一些元素的 jQuery 对象添加新元素
- r - R中的连续最近邻
- r - R - 在模型中选择多个变量的优雅方式,如 rpart 或 train
- android - 与 Single 一起使用时,RetryWhen 会出现一些问题
- python - model.fit(...) 和“无法将 NumPy 数组转换为张量”