Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Одной из уникальных и полезных функций Apigee Edge является возможность обертывать приложение NodeJS в прокси-сервер API. Это позволяет разработчикам создавать серверные приложения, управляемые событиями, с помощью Edge.
Антипаттерн
Развертывание прокси-серверов API — это процесс их предоставления для обслуживания запросов API. Каждый из развернутых прокси-серверов API загружается в память времени выполнения процессора сообщений, чтобы иметь возможность обслуживать запросы API для конкретного прокси-сервера API. Таким образом, использование памяти во время выполнения увеличивается с увеличением количества развернутых прокси-серверов API. Если оставить развернутыми неиспользуемые прокси-серверы API, это может привести к ненужному использованию памяти времени выполнения.
В случае с прокси-серверами NodeJS API есть еще одно следствие.
Платформа запускает «приложение Node» для каждого развернутого прокси-сервера NodeJS API. Приложение Node похоже на экземпляр автономного узла сервера в процессе JVM процессора сообщений.
Фактически, для каждого развернутого прокси-сервера NodeJS API Edge запускает сервер узла для обработки запросов соответствующих прокси-серверов. Если один и тот же прокси-сервер NodeJS API развернут в нескольких средах, для каждой среды запускается соответствующее приложение узла. В ситуациях, когда имеется много развернутых, но неиспользуемых прокси-серверов NodeJS API, запускается несколько приложений Node. Неиспользуемые прокси-серверы NodeJS преобразуются в простаивающие приложения Node, которые потребляют память и влияют на время запуска процесса приложения.
Используемые прокси | Неиспользуемые прокси | ||||
---|---|---|---|---|---|
# Прокси | # Развернутые среды | Запущено # nodeapps | # Прокси | # Развернутые среды | # Запущено Node-приложение |
10 | разработка, тестирование, разработка (3) | 10х3=30 | 12 | разработка, тестирование, разработка (3) | 12х3=36 |
На приведенном выше рисунке запускаются 36 неиспользуемых приложений nodeapp, которые занимают системную память и отрицательно влияют на время запуска процесса.
Влияние
- Высокое использование памяти и влияние каскадирования на способность приложения обрабатывать дальнейшие запросы.
- Вероятное влияние на производительность прокси-серверов API, которые фактически обслуживают трафик.
Лучшая практика
- Отмените развертывание всех неиспользуемых прокси API.
- Используйте панель мониторинга производительности прокси-серверов Analytics, чтобы определить, какие прокси-серверы не обслуживают трафик; отмените развертывание тех, которые вам не нужны