Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
В этом документе рассказывается, как настроить время ожидания для процессоров сообщений Apigee Edge.
Время ожидания активности в Message Processor позволяет отправлять и получать несколько HTTP-запросов/ответов от/к бэкенд-серверу через одно TCP-соединение, а не открывать новое соединение для каждой пары запрос/ответ.
Значение по умолчанию для свойства времени ожидания активности на процессоре сообщений – 60 секунд. Этот период ожидания применяется к серверным частям, настроенным в конфигурации целевой конечной точки и в правиле ServiceCallout прокси API.
Время ожидания для процессоров сообщений можно увеличить или уменьшить по сравнению со значением по умолчанию (60 секунд). Его можно настроить следующими способами:
- В прокси-сервере API
- в целевой конечной точке;
- В правилах для приложения "
ServiceCallout"
- На процессоре сообщений
Следующие свойства управляют временем ожидания активности в процессорах сообщений:
| Название свойства | Местоположение | Описание |
|---|---|---|
keepalive.timeout.millis |
Прокси-сервер API:
|
Это максимальное время бездействия, в течение которого процессор сообщений позволяет одному TCP-подключению отправлять и получать несколько HTTP-запросов/ответов вместо того, чтобы открывать новое подключение для каждой пары запросов/ответов. По умолчанию это свойство принимает значение, заданное для свойства Если это свойство изменено с новым значением времени ожидания для целевого сервера, используемого в целевой конечной точке или правиле |
HTTPClient.keepalive.timeout.millis |
Message Processor |
Это максимальное время бездействия, в течение которого процессор сообщений позволяет одному TCP-подключению отправлять и получать несколько HTTP-запросов/ответов вместо того, чтобы открывать новое подключение для каждой пары запрос/ответ. Это свойство используется для всех прокси API, работающих на этом Message Processor. Значение по умолчанию – Вы можете изменить это свойство, как описано в разделе Настройка времени ожидания для поддержания активности в Message Processor ниже, или перезаписать его значение, задав свойство |
Подготовка
Прежде чем выполнять описанные в этом документе действия, убедитесь, что вы понимаете следующие темы:
- Если вы не знакомы с параметром keep alive timeout, ознакомьтесь с описанием свойства
keepalive.timeout.millisв спецификации транспортного свойства TargetEndpoint. - Если вы не знаете, как настраивать ресурсы для Edge в частном облаке, прочитайте статью Как настроить Edge.
Как настроить время ожидания активности в прокси-сервере API
Время ожидания Keep-Alive можно настроить в прокси-сервере API в следующих местах:
- Целевая конечная точка
- Правило:
ServiceCallout
Настройка времени ожидания сообщения keep-alive в целевой конечной точке прокси-сервера API
В этом разделе рассказывается, как настроить время ожидания для целевой конечной точки прокси-сервера API. Время ожидания можно настроить с помощью свойства keepalive.timeout.millis, которое представляет собой значение времени ожидания в миллисекундах.
- В интерфейсе Edge выберите прокси-сервер API, в котором хотите настроить новое значение времени ожидания.
- Выберите конечную точку, которую хотите изменить.
-
Добавьте свойство
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> - Сохраните изменения, внесенные в прокси-сервер API.
Как настроить время ожидания активности в правиле ServiceCallout прокси-сервера API
В этом разделе объясняется, как настроить время ожидания для подключения в соответствии с правилами ServiceCallout прокси-сервера API. Время ожидания можно настроить с помощью свойства the keepalive.timeout.millis, которое представляет собой значение времени ожидания в миллисекундах.
Чтобы настроить время ожидания проверки активности в правиле ServiceCallout с помощью свойства keepalive.timeout.millis:
- В интерфейсе Edge выберите прокси-сервер API, в котором хотите настроить новое значение времени ожидания для правила
ServiceCallout. - Выберите правило
ServiceCallout, которое хотите изменить. - Добавьте свойство
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> - Сохраните изменения, внесенные в прокси-сервер API.
Как настроить время ожидания активности на процессорах сообщений
В этом разделе рассказывается, как настроить время ожидания активности на процессорах сообщений. Время ожидания можно настроить с помощью свойства HTTPClient.keepalive.timeout.millis, которое представляет значение времени ожидания в миллисекундах в компоненте Message Processor. Поскольку это свойство закомментировано в Message Processor, вам нужно использовать специальный синтаксис conf/http.properties+HTTPClient.keepalive.timeout.millis, как описано в разделе
Как задать токен, который в настоящее время закомментирован статьи Как настроить Edge.
Чтобы настроить время ожидания для процессоров сообщений, выполните следующие действия:
- На компьютере Message Processor откройте в редакторе следующий файл: Если его нет, создайте его.
/opt/apigee/customer/application/message-processor.properties
Например, чтобы открыть файл с помощью
vi, введите следующее:vi /opt/apigee/customer/application/message-processor.properties
- Добавьте в файл свойств строку в следующем формате, заменив TIME_IN_MILLISECONDS на нужное значение:
conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
Например, чтобы изменить время ожидания активности на Message Processor на
30секунд, добавьте следующую строку:conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
- Сохраните изменения.
- Убедитесь, что файл свойств принадлежит пользователю
apigee, как показано ниже.chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Перезапустите Message Processor, как показано ниже.
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Если у вас несколько Message Processor, повторите описанные выше действия для каждого из них.
Проверка времени ожидания keep-alive в процессорах сообщений
В этом разделе рассказывается, как проверить, что время ожидания keep-alive было успешно изменено в процессорах сообщений.
Несмотря на то что для установки времени ожидания активности в обработчике сообщений используется специальный синтаксис conf/http.properties+HTTPClient.keepalive.timeout.millis, необходимо проверить, задано ли новое значение для свойства HTTPClient.keepalive.timeout.millis.
- На компьютере Message Processor найдите свойство
HTTPClient.keepalive.timeout.millisв каталоге/opt/apigee/edge-message-processor/confи проверьте, задано ли для него новое значение, как показано ниже:grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
-
Если новое значение времени ожидания для поддержания активности успешно задано для 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секунд. - Если вы по-прежнему видите старое значение свойства
HTTPClient.keepalive.timeout.millis, убедитесь, что вы правильно выполнили все шаги, описанные в разделе Настройка времени ожидания для поддержания активности в процессорах сообщений. Если вы пропустили какой-либо шаг, повторите все действия заново. - Если вам по-прежнему не удается изменить время ожидания, обратитесь в службу поддержки Google Cloud Apigee Edge.