Как настроить время ожидания активности на процессорах сообщений

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

В этом документе рассказывается, как настроить время ожидания для процессоров сообщений Apigee Edge.

Время ожидания активности в Message Processor позволяет отправлять и получать несколько HTTP-запросов/ответов от/к бэкенд-серверу через одно TCP-соединение, а не открывать новое соединение для каждой пары запрос/ответ.

Значение по умолчанию для свойства времени ожидания активности на процессоре сообщений – 60 секунд. Этот период ожидания применяется к серверным частям, настроенным в конфигурации целевой конечной точки и в правиле ServiceCallout прокси API.

Время ожидания для процессоров сообщений можно увеличить или уменьшить по сравнению со значением по умолчанию (60 секунд). Его можно настроить следующими способами:

  • В прокси-сервере API
    • в целевой конечной точке;
    • В правилах для приложения "ServiceCallout"
  • На процессоре сообщений

Следующие свойства управляют временем ожидания активности в процессорах сообщений:

Название свойства Местоположение Описание
keepalive.timeout.millis Прокси-сервер API:
  • Целевая конечная точка
  • Правило: ServiceCallout

Это максимальное время бездействия, в течение которого процессор сообщений позволяет одному TCP-подключению отправлять и получать несколько HTTP-запросов/ответов вместо того, чтобы открывать новое подключение для каждой пары запросов/ответов.

По умолчанию это свойство принимает значение, заданное для свойства HTTPClient.keepalive.timeout.millis в Message Processor, где значение по умолчанию составляет 60 секунд.

Если это свойство изменено с новым значением времени ожидания для целевого сервера, используемого в целевой конечной точке или правиле ServiceCallout в определенном прокси-сервере API, то время ожидания соединения будет изменено только для этого целевого сервера.

HTTPClient.keepalive.timeout.millis Message Processor

Это максимальное время бездействия, в течение которого процессор сообщений позволяет одному TCP-подключению отправлять и получать несколько HTTP-запросов/ответов вместо того, чтобы открывать новое подключение для каждой пары запрос/ответ.

Это свойство используется для всех прокси API, работающих на этом Message Processor.

Значение по умолчанию – 60 секунд.

Вы можете изменить это свойство, как описано в разделе Настройка времени ожидания для поддержания активности в Message Processor ниже, или перезаписать его значение, задав свойство keepalive.timeout.millis на уровне прокси-сервера API.

Подготовка

Прежде чем выполнять описанные в этом документе действия, убедитесь, что вы понимаете следующие темы:

Как настроить время ожидания активности в прокси-сервере API

Время ожидания Keep-Alive можно настроить в прокси-сервере API в следующих местах:

  • Целевая конечная точка
  • Правило: ServiceCallout

Настройка времени ожидания сообщения keep-alive в целевой конечной точке прокси-сервера API

В этом разделе рассказывается, как настроить время ожидания для целевой конечной точки прокси-сервера API. Время ожидания можно настроить с помощью свойства keepalive.timeout.millis, которое представляет собой значение времени ожидания в миллисекундах.

  1. В интерфейсе Edge выберите прокси-сервер API, в котором хотите настроить новое значение времени ожидания.
  2. Выберите конечную точку, которую хотите изменить.
  3. Добавьте свойство keepalive.timeout.millis с подходящим значением в элемент <HTTPTargetConnection> конфигурации TargetEndpoint.

    Например, чтобы изменить время ожидания на 30 секунд, добавьте следующий блок кода:

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    Поскольку свойство keepalive.timeout.millis задается в миллисекундах, значение для 30 секунд будет равно 30000.

    В примерах ниже показано, как настроить время ожидания для поддержания активности в конфигурации целевой конечной точки прокси-сервера API:

    Пример конфигурации целевой конечной точки с использованием URL для внутреннего сервера

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>

    Пример конфигурации целевой конечной точки с использованием целевого сервера

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
  4. Сохраните изменения, внесенные в прокси-сервер API.

Как настроить время ожидания активности в правиле ServiceCallout прокси-сервера API

В этом разделе объясняется, как настроить время ожидания для подключения в соответствии с правилами ServiceCallout прокси-сервера API. Время ожидания можно настроить с помощью свойства the keepalive.timeout.millis, которое представляет собой значение времени ожидания в миллисекундах.

Чтобы настроить время ожидания проверки активности в правиле ServiceCallout с помощью свойства keepalive.timeout.millis:

  1. В интерфейсе Edge выберите прокси-сервер API, в котором хотите настроить новое значение времени ожидания для правила ServiceCallout.
  2. Выберите правило ServiceCallout, которое хотите изменить.
  3. Добавьте свойство keepalive.timeout.millis с подходящим значением в элемент <HTTPTargetConnection> в конфигурации TargetEndpoint.

    Например, чтобы изменить время ожидания на 30 секунд, добавьте следующий блок кода:

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    Поскольку свойство keepalive.timeout.millis задается в миллисекундах, значение для 30 секунд будет равно 30000.

    В примерах ниже показано, как настроить время ожидания для подключения в соответствии с правилами ServiceCallout прокси-сервера API:

    Пример конфигурации правила ServiceCallout с использованием URL для внутреннего сервера

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <URL>https://mocktarget.apigee.net/json</URL>
      </HTTPTargetConnection>
    </ServiceCallout>

    Пример конфигурации правила ServiceCallout с использованием целевого сервера

    <ServiceCallout enabled="true" name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <Response>calloutResponse</Response>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. Сохраните изменения, внесенные в прокси-сервер API.

Как настроить время ожидания активности на процессорах сообщений

В этом разделе рассказывается, как настроить время ожидания активности на процессорах сообщений. Время ожидания можно настроить с помощью свойства HTTPClient.keepalive.timeout.millis, которое представляет значение времени ожидания в миллисекундах в компоненте Message Processor. Поскольку это свойство закомментировано в Message Processor, вам нужно использовать специальный синтаксис conf/http.properties+HTTPClient.keepalive.timeout.millis, как описано в разделе Как задать токен, который в настоящее время закомментирован статьи Как настроить Edge.

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

  1. На компьютере Message Processor откройте в редакторе следующий файл: Если его нет, создайте его.
    /opt/apigee/customer/application/message-processor.properties

    Например, чтобы открыть файл с помощью vi, введите следующее:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Добавьте в файл свойств строку в следующем формате, заменив TIME_IN_MILLISECONDS на нужное значение:
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

    Например, чтобы изменить время ожидания активности на Message Processor на 30 секунд, добавьте следующую строку:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  3. Сохраните изменения.
  4. Убедитесь, что файл свойств принадлежит пользователю apigee, как показано ниже.
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Перезапустите Message Processor, как показано ниже.
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Если у вас несколько Message Processor, повторите описанные выше действия для каждого из них.

Проверка времени ожидания keep-alive в процессорах сообщений

В этом разделе рассказывается, как проверить, что время ожидания keep-alive было успешно изменено в процессорах сообщений.

Несмотря на то что для установки времени ожидания активности в обработчике сообщений используется специальный синтаксис conf/http.properties+HTTPClient.keepalive.timeout.millis, необходимо проверить, задано ли новое значение для свойства HTTPClient.keepalive.timeout.millis.

  1. На компьютере Message Processor найдите свойство HTTPClient.keepalive.timeout.millis в каталоге /opt/apigee/edge-message-processor/conf и проверьте, задано ли для него новое значение, как показано ниже:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Если новое значение времени ожидания для поддержания активности успешно задано для Message Processor, то в файле http.properties будет указано новое значение.

    Пример результата выполнения команды выше после того, как вы настроили время ожидания активности на 30 секунд:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000

    В приведенном выше примере выходных данных обратите внимание, что для свойства HTTPClient.keepalive.timeout.millis задано новое значение 30000 в http.properties. Это означает, что время ожидания проверки активности успешно настроено на процессоре сообщений и составляет 30 секунд.

  3. Если вы по-прежнему видите старое значение свойства HTTPClient.keepalive.timeout.millis, убедитесь, что вы правильно выполнили все шаги, описанные в разделе Настройка времени ожидания для поддержания активности в процессорах сообщений. Если вы пропустили какой-либо шаг, повторите все действия заново.
  4. Если вам по-прежнему не удается изменить время ожидания, обратитесь в службу поддержки Google Cloud Apigee Edge.