Antipadrão: deixar proxies da API NodeJS não utilizados implantados

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Um dos recursos exclusivos e úteis do Apigee Edge é a capacidade de agrupar um aplicativo NodeJS em um proxy de API. Isso permite que os desenvolvedores criem aplicativos do lado do servidor orientados a eventos usando o Edge.

Antipadrão

A implantação de proxies de API é o processo de disponibilizá-los para atender às solicitações da API. Cada um dos proxies de API implantados é carregado na memória de execução do processador de mensagens para poder atender às solicitações de API do proxy específico. Portanto, o uso de memória no tempo de execução aumenta com o aumento no número de proxies de API implantados. Deixar os proxies de API não utilizados implantados pode causar o uso desnecessário da memória de execução.

No caso dos proxies de API NodeJS, há outra implicação.

A plataforma inicia um "app Node" para cada proxy de API NodeJS implantado. Um app Node é semelhante a uma instância de servidor de nó independente no processo da JVM do processador de mensagens.

Na prática, para cada proxy de API NodeJS implantado, o Edge inicia um servidor de nó para processar as solicitações dos proxies correspondentes. Se o mesmo proxy de API NodeJS for implantado em vários ambientes, um app de nó correspondente será iniciado para cada ambiente. Em situações em que há muitos proxies de API NodeJS implantados, mas não utilizados, vários apps Node são iniciados. Os proxies NodeJS não usados são traduzidos para apps Node inativos que consomem memória e afetam os tempos de inicialização do processo do aplicativo.

Proxies usados Proxies não usados
# Indicadores # Ambientes implantados # nodeapps lançados # Indicadores # Ambientes implantados # apps do Node foram iniciados
10 dev, test, prod (3) 10x3=30 12 dev, test, prod (3) 12x3=36

Na ilustração acima, 36 apps de nó não usados são iniciados, o que consome a memória do sistema e tem um efeito adverso nos tempos de inicialização do processo.

Impacto

  • Alto uso de memória e efeito cascata na capacidade do aplicativo de processar mais solicitações
  • Possível impacto no desempenho dos proxies de API que estão veiculando tráfego

Prática recomendada

  • Cancelar a implantação de todos os proxies de API não usados
  • Use o painel "Performance do proxy do Google Analytics" para determinar quais proxies não estão veiculando tráfego. Desimplante os que você não precisa.

Leitura adicional