J'ai une API NodeJS qui fait des choses basiques (comme la manipulation de la base de données), mais aussi, beaucoup moins fréquemment, en taxant des choses comme le codage vidéo.Quelle est la méthode recommandée pour séparer les tâches lourdes de calcul de l'API basée sur nodejs?
Il semble qu'une meilleure solution, du point de vue de l'évolutivité, consisterait à le diviser en un serveur API principal et à séparer les travailleurs qui effectuent la lourde tâche. De cette façon, j'ai deux pools, "low cost" pour l'API primaire et "cher" pour les travailleurs, permettant une meilleure gestion des ressources.
Existe-t-il une approche standard de ce modèle? La seule façon de gérer les requêtes lourdes peu fréquentes semble être d'écrire les serveurs de travail à partir de zéro ou de créer un processus fils. Ces options nécessitent beaucoup de code supplémentaire (y compris la mise en pool, la mise en file d'attente, etc.) et le problème semble assez commun, donc le manque de paquet node-worker indique que mon approche est à la fois connue et incorrecte.
Votre déploiement sera sur-promis ou dans le Cloud .. Si c'est Cloud, quelle plate-forme (AWS, Azure, ...)? –
Mon déploiement est sur un VPS. – monday
Un équilibreur de charge semble être la solution ici! Quelle que soit l'intensité de votre opération, l'équilibreur de charge dirige la requête vers le serveur le moins occupé – Victor