Je suis nouvelle Node.js et je suis actuellement remettent en cause sa fiabilité.
Selon ce que j'ai vu jusqu'à présent, il semble y avoir un défaut majeur: toute erreur non interceptée/exceptions plante le serveur. Bien sûr, vous pouvez essayer à l'épreuve des balles de votre code ou mettre try/catch dans des domaines clés, mais il y aura presque toujours des bugs qui glisser à travers la fissure. Et il semble dangereux si une requête qui pose problème pourrait affecter tous les autres demandes. Il y a 2 solutions de contournement que j'ai trouvé:
L'utilisation de démon ou d'un module comme jamais pour redémarrer automatiquement le serveur quand il se bloque. La chose que je n'aime pas c'est que le serveur est toujours enfoncé pendant une seconde ou deux (pour un site de grande taille, qui pourraient être des centaines (des milliers?) de la demande).
Attraper les exceptions non traitées à l'aide de
process.on('uncaughtException')
. Le problème avec cette approche (pour autant que je sais) c'est qu'il n'existe aucun moyen pour obtenir une référence à la demande qui provoque l'exception. De sorte que la demande en question est laissée en suspens (utilisateur voit l'indicateur de chargement jusqu'à ce délai d'attente). Mais au moins, dans ce cas, d'autres non problématique demandes peuvent être manipulés.
Peut importe Node.js vétéran de la hauteur dans des?