Настройка маршрутизатора для повторных попыток подключения к Message Processor

Edge for Private Cloud версии 4.17.05

Настройка ответа маршрутизатора, когда Message Processor недоступен во время проверки работоспособности

Каждые пять секунд маршрутизатор проверяет работоспособность Message Processor, чтобы определить, может ли он обрабатывать запросы. Если Message Processor выходит из строя, Router автоматически перенаправляет запросы другому Message Processor.

Вы можете настроить реакцию маршрутизатора на сбой Message Processor, задав свойство conf_load_balancing_load.balancing.driver.nginx.server.retry на маршрутизаторе. Это свойство принимает набор значений, разделенных пробелами, которые могут включать:

  • off – отключить повторные попытки. При запросе маршрутизатор возвращает код ошибки.
  • http_599 (по умолчанию). Если маршрутизатор получает от Message Processor ответ HTTP 599, то он перенаправляет запрос следующему Message Processor.

    HTTP 599 – это специальный код ответа, который генерируется процессором сообщений при его отключении. Message Processor пытается выполнить все существующие запросы, но на любые новые запросы он отвечает HTTP 599, чтобы сигнализировать маршрутизатору о необходимости повторить запрос на следующем Message Processor.
  • error – если при установлении соединения с Message Processor, передаче ему запроса или чтении заголовка ответа от него произошла ошибка, Router перенаправляет запрос следующему Message Processor.
  • timeout – если при установлении соединения с Message Processor, передаче ему запроса или чтении заголовка ответа от него истекает время ожидания, маршрутизатор перенаправляет запрос следующему Message Processor.
  • invalid_header. Если Message Processor возвращает пустой или недопустимый ответ, Router перенаправляет запрос следующему Message Processor.
  • http_XXX. Если Message Processor возвращает ответ с кодом HTTP XXX, Router перенаправляет запрос следующему Message Processor.

Чтобы настроить маршрутизатор, выполните следующие действия:

  1. Отредактируйте файл /opt/apigee/customer/application/router.properties (если он не существует, создайте его).
  2. Добавьте свойство conf_load_balancing_load.balancing.driver.nginx.server.retry, как показано ниже:
    conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error
  3. Убедитесь, что файл свойств принадлежит пользователю apigee:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Перезапустите маршрутизатор:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Настройка времени ожидания маршрутизатора при доступе к обработчикам сообщений в рамках запроса прокси-сервера API.

При попытке доступа к Message Processor в рамках обработки запроса через прокси-сервер API у Edge Router есть предустановленный тайм-аут в 57 секунд. По истечении этого времени ожидания маршрутизатор попытается подключиться к другому обработчику сообщений, если он доступен. В противном случае будет возвращена ошибка.

Для управления этим временем ожидания можно использовать два свойства:

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout – время ожидания в секундах для одного Message Processor. Значение по умолчанию – 57 секунд.
  • conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout – общее время ожидания для всех Message Processor в секундах, если в вашей установке Edge несколько Message Processor. По умолчанию используется текущее значение conf_load_balancing_load.balancing.driver.proxy.read.timeout или 57 секунд.

Чтобы настроить маршрутизатор, выполните следующие действия:

  1. Отредактируйте файл /opt/apigee/customer/application/router.properties (если он не существует, создайте его).
  2. Задайте свойства, как показано ниже:
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240
  3. Убедитесь, что файл свойств принадлежит пользователю apigee:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Перезапустите маршрутизатор:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart