启用 HTTP 部署

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

因此,Apigee 建议较大的部署使用 HTTP 而非 RPC 进行部署。

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

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

更新您的组织

如需启用 HTTP 部署,请向 Update organization properties 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

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