启用 HTTP 部署

默认情况下,Edge 使用 RPC 部署 API 代理。虽然此模式非常适合大多数安装,但如果通过 RPC 进行大量并发调用,具有许多 MP 的较大拓扑可能会出现超时问题。Apigee 计划将来弃用此实现。

因此,Apigee 建议大型部署使用 HTTP 而不是 RPC 进行部署。

除了有望提高可靠性之外,启用 HTTP 部署还可改进部署过程中可能抛出的异常的内容和格式。

本部分介绍如何为部署启用 HTTP。

更新您的组织

如需启用 HTTP 部署,请向更新组织属性 API 发送 PUT 请求。在请求正文中设置以下属性:

媒体资源 说明
allow.deployment.over.http 确定 Edge 是否可以通过 HTTP(以及 RPC)部署 API 代理。如果设置为 true,则允许 HTTP 部署;否则,设置为 false。默认值为 false

如需启用 HTTP 部署,您必须将此属性设置为 true

use.http.for.configuration

指定用于配置事件的方法。可能的值包括:

  • never:所有配置事件都使用 RPC。这是默认值。
  • retry:所有配置事件首先使用 RPC;如果事件通过 RPC 失败,Edge 会尝试使用 HTTP。如果您使用 HTTP,这可能会导致延迟。
  • always:所有配置事件都使用 HTTP。

如需启用 HTTP 部署,Apigee 建议将此属性设置为 always

除了在消息正文中设置这些属性之外,您还必须将 Content-Type 标头设置为 application/jsonapplication/xml

以下示例使用 JSON 消息正文调用 Update Organization Properties API

curl -u admin_email:admin_password
  "http://management_server_IP:8080/v1/organizations/org_name"
  -X POST -H "Content-Type: application/json" -d
  '{
    "properties" : {
      "property" : [
      {
        "name" : "allow.deployment.over.http",
        "value" : "true"
      },
      {
        "name" : "use.http.for.configuration",
        "value" : "always"
      } ]
    }
  }'

如需在您的所有组织中的所有 API 代理上启用 HTTP 部署,您必须按上述方法更新每个组织。

测试更新

如需测试更新是否成功,请在已更新的组织中触发 API 代理上的部署事件,然后查看消息处理器的日志文件。部署事件的日志条目应包含 mode:API

如需了解详情,请参阅日志文件