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

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Um dos recursos exclusivos e úteis do Apigee Edge é a capacidade de unir um aplicativo NodeJS em um proxy de API. Com isso, os desenvolvedores podem criar aplicativos orientados a eventos do lado do servidor usando o Edge.

Antipadrão

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

No caso de proxies da API NodeJS, há uma implicação adicional.

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

Na verdade, para cada proxy da API NodeJS implantado, a Edge inicia um servidor de nós para processar solicitações para os proxies correspondentes. Se o mesmo proxy da API NodeJS for implantado em vários ambientes, um aplicativo de nó correspondente será iniciado para cada ambiente. Em situações em que há muitos proxies da API NodeJS implantados, mas não usados, vários aplicativos Node são iniciados. Proxies NodeJS não usados são convertidos em apps Node.js, que consomem memória e afetam os tempos de inicialização do processo do aplicativo.

Proxies usados Proxies não utilizados
# proxies # ambientes implantados # nodeapps lançado # proxies # ambientes implantados # de apps de nó lançados
10 dev, test, prod (3) 10x3=30 12 dev, test, prod (3) 12x3=36

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

Impacto

  • Alto uso de memória e efeito em cascata na capacidade do aplicativo de processar mais solicitações
  • Provável impacto no desempenho nos proxies de API que realmente veiculam tráfego

Prática recomendada

  • Cancelar a implantação de proxies de API não utilizados
  • Use o Painel de desempenho do proxy do Analytics para determinar quais proxies não estão gerando tráfego. Remova a implantação dos que não são necessários

Leia mais