将路由器配置为重试与消息处理器的连接

Edge for Private Cloud v. 4.16.09

路由器每隔五秒对消息处理器进行一次健康检查,以确定消息处理器能否处理请求。如果消息处理器发生故障,路由器会自动将请求转发给其他消息处理器。

您可以通过在路由器上设置 conf_load_Balance_load.Balance.driver.nginx.server.retry 属性,配置路由器在消息处理器关闭时如何响应。该属性采用一组以空格分隔的值,其中包括:

  • 关闭:停用重试功能。路由器会在请求时返回失败代码。
  • http_599:(默认)如果路由器收到来自消息处理器的 HTTP 599 响应,则会将请求转发给下一个消息处理器。

    HTTP 599 是一种由消息处理器关闭时生成的特殊响应代码。消息处理器会尝试完成所有现有请求,但对于任何新请求,它都会以 HTTP 599 响应,以便让路由器在下一个消息处理器中重试该请求。
  • error:如果在与消息处理器建立连接、向其传递请求或从中读取响应标头时出错,路由器会将请求转发给下一个消息处理器。
  • 超时:如果在与消息处理器建立连接、向其传递请求或从中读取响应标头后发生超时,路由器会将请求转发给下一个消息处理器。
  • invalid_header:如果消息处理器返回空或无效响应,路由器会将请求转发给下一个消息处理器。
  • http_XXX:如果消息处理器返回包含 HTTP 代码 XXX 的响应,则路由器会将请求转发给下一个消息处理器。

如需配置路由器,请执行以下操作:

  1. 修改 /<inst_root>/apigee/customer/application/router.properties 文件(如果该文件不存在,请创建)。
  2. 添加 conf_load_Balance_load.Balance.driver.nginx.server.retry 属性,如下所示:
  3. 重启路由器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart