Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X. info
L'une des fonctionnalités uniques et utiles d'Apigee Edge est la possibilité d'encapsuler une application NodeJS dans un proxy d'API. Cela permet aux développeurs de créer des applications côté serveur basées sur des événements à l'aide d'Edge.
Antimodèle
Le déploiement de proxys d'API consiste à les mettre à disposition pour répondre aux requêtes d'API. Chacun des proxys d'API déployés est chargé dans la mémoire d'exécution du processeur de messages afin de pouvoir répondre aux requêtes d'API pour le proxy d'API spécifique. Par conséquent, l'utilisation de la mémoire d'exécution augmente avec le nombre de proxys d'API déployés. Laisser des proxys d'API inutilisés déployés peut entraîner une utilisation inutile de la mémoire d'exécution.
Dans le cas des proxys d'API NodeJS, il existe une autre implication.
La plate-forme lance une "application Node" pour chaque proxy d'API NodeJS déployé. Une application Node est semblable à une instance de serveur de nœud autonome sur le processus JVM du processeur de messages.
En effet, pour chaque proxy d'API NodeJS déployé, Edge lance un serveur de nœud pour traiter les requêtes des proxys correspondants. Si le même proxy d'API NodeJS est déployé dans plusieurs environnements, une application de nœud correspondante est lancée pour chaque environnement. Lorsque de nombreux proxys d'API NodeJS sont déployés, mais inutilisés, plusieurs applications Node sont lancées. Les proxys NodeJS inutilisés se traduisent par des applications Node inutilisées qui consomment de la mémoire et affectent les temps de démarrage du processus d'application.
Proxys utilisés | Proxys inutilisés | ||||
---|---|---|---|---|---|
# Proxies | # Environnements déployés | # nodeapps Launched | # Proxies | # Environnements déployés | # Applications Node lancées |
10 | dev, test, prod (3) | 10x3=30 | 12 | dev, test, prod (3) | 12 x 3=36 |
Dans l'illustration ci-dessus, 36 nodeapps inutilisées sont lancées, ce qui utilise la mémoire système et a un impact négatif sur les temps de démarrage du processus.
Impact
- Utilisation élevée de la mémoire et effet en cascade sur la capacité de l'application à traiter d'autres requêtes
- Impact probable sur les performances des proxys d'API qui gèrent réellement le trafic
Bonne pratique
- Désinstaller les proxys d'API inutilisés
- Utilisez le tableau de bord "Performances des proxys Analytics" pour déterminer les proxys qui ne diffusent pas de trafic, puis désinstallez ceux dont vous n'avez pas besoin.