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

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

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

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

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

  • В API-прокси
    • В целевой конечной точке
    • В политике ServiceCallout
  • О процессоре сообщений

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

Имя свойства Расположение Описание
connect.timeout.millis API-прокси:
  • Целевая конечная точка
  • Политика ServiceCallout

Это максимальное время, в течение которого процессор сообщений ожидает соединения с целевым сервером.

По умолчанию это свойство принимает значение, установленное для свойства HTTPClient.connect.timeout.millis процессора сообщений, где значение по умолчанию составляет 3 секунды.

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

HTTPClient.connect.timeout.millis Процессор сообщений

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

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

Значение этого свойства по умолчанию — 3 секунды.

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

Прежде чем начать

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

Настройка таймаута соединения в API-прокси

Таймаут соединения можно настроить в прокси API в следующих местах:

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

Настройка тайм-аута соединения в целевой конечной точке прокси API

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

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

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

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

    Поскольку свойство connect.timeout.millis указано в миллисекундах, значение для 5 секунд равно 5000 .

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

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

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

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

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

Настройка таймаута соединения в политике ServiceCallout прокси API

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

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

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

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

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

    Поскольку свойство connect.timeout.millis указано в миллисекундах, значение для 5 секунд равно 5000 .

    В следующих примерах показано, как настроить тайм-аут соединения в политике ServiceCallout вашего прокси API:

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

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="connect.timeout.millis">5000</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="connect.timeout.millis">5000</Property>
        </Properties>
      <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. Сохраните изменения, внесенные в ваш прокси API.

Настройка тайм-аута соединения на процессорах сообщений

В этом разделе объясняется, как настроить тайм-аут соединения на процессорах сообщений. Тайм-аут соединения можно настроить с помощью свойства conf_http_HTTPClient.connect.timeout.millis , которое представляет значение тайм-аута соединения в миллисекундах в компоненте «Обработчик сообщений», используя токен в соответствии с синтаксисом, описанным в разделе «Как настроить Edge» .

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

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

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

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

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

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

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

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

Несмотря на то, что вы используете токен conf_http_HTTPClient.connect.timeout.millis для установки времени ожидания соединения в процессоре сообщений, вам необходимо проверить, установлено ли фактическое свойство HTTPClient.connect.timeout.millis с новым значением.

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

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

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

    Обратите внимание, что в приведенном выше примере для свойства HTTPClient.connect.timeout.millis установлено новое значение 5000 в http.properties . Это означает, что тайм-аут соединения успешно настроен на процессоре сообщений и составляет 5 секунд.

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