概览
Apigee Hybrid 支持将目标 io.timeout.millis 设置为默认值(最长 55,000 毫秒)。请参阅目标端点传输规范。
如需提高慢速目标端点的目标超时限制,请对运行时配置进行以下更改:
- 配置 Istio 和消息处理器(MP) 之间的
virtualhosts[].requestTimeout。请参阅虚拟主机 - 配置 MP 与目标之间的
conf_http_HTTPTransport.io.timeout.millis
您可以为单个环境或安装中的所有环境配置这些设置。
配置虚拟主机以更改请求超时限制
requestTimeout 是在虚拟主机上设置的、MP 处理请求的最长时间(以秒为单位)。
如需配置请求超时限制,您可以使用 virtualhosts[].requestTimeout 属性。对 overrides.yaml 文件进行以下更改:
- 将以下节添加到
overrides.yaml文件:virtualhosts: - name: ENV_GROUP_NAME requestTimeout: 600 # Increase requestTimeout to 600 seconds
- 一次只能升级一个环境组 (virtualhost)。使用
--set envgroup=ENV_GROUP_NAME 指定环境组。对 override.yaml 文件中提到的每个环境组重复运行以下命令:试运行:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE \ --dry-run=server
ENV_GROUP_RELEASE_NAME 是您之前安装
apigee-virtualhost图表时使用的名称。通常为 ENV_GROUP_NAME。升级图表:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE
- 检查 ApigeeRoute (AR) 的状态。
安装
virtualhosts会创建 ApigeeRouteConfig (ARC),它会在 Apigee Watcher 从控制平面拉取环境组相关详细信息后在内部创建 ApigeeRoute (AR)。因此,请检查相应 AR 的状态是否为正在运行:kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2d
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-org1-dev-egroup-cb9a8a running 2d
配置各个环境以更改目标超时限制
如果具有缓慢目标端点的代理仅在安装中的一个或少数几个环境中,您可以单独配置这些环境以更改目标超时限制。这样可以避免对其他环境造成影响。
如需将各个环境配置为更改目标超时限制,您可以使用 envs[].components.runtime 属性。对 overrides.yaml 文件进行以下更改:
-
将以下节添加到
overrides.yaml文件:envs: - name: ENV_NAME components. runtime: cwcAppend: conf_http_HTTPTransport.io.timeout.millis: 600000 # Increase io.timeout.millis to 600000 milliseconds -
一次只能升级一个环境。升级您要更新的每个环境的
apigee-env图表:试运行:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run=server
- ENV_RELEASE_NAME 是用于跟踪
apigee-env图表的安装和升级情况的名称。此名称必须与安装中的其他 Helm 版本名称不同。 通常,这与ENV_NAME相同。但是,如果环境与环境组具有相同的名称,则您必须为环境和环境组使用不同的版本名称,例如dev-env-release和dev-envgroup-release。如需详细了解 Helm 中的版本,请参阅 Helm 文档中的三大概念 class="external"。 - ENV_NAME 是您要升级的环境的名称。
- OVERRIDES_FILE 是修改后的
overrides.yaml文件。
- ENV_RELEASE_NAME 是用于跟踪
-
升级图表:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
-
通过检查相应环境的状态来验证它已启动并正在运行:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE my-org-my-env-123abc running 2d
配置所有环境以更改目标超时限制
对 runtime 节所做的更改将为安装中的所有环境更改目标超时限制。您可以使用 runtime 属性为各个环境替换这些设置。
-
将以下节添加到
overrides.yaml文件:runtime: cwcAppend: conf_http_HTTPTransport.io.timeout.millis: 600000 # Increase io.timeout.millis to 600000 milliseconds -
升级安装中每个环境的
apigee-env图表:试运行:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run=server
升级图表:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE