De nombreux étudiants ont peut-être entendu parler de NodeJS et savent qu'il peut exécuter JavaScript sur le serveur, mais ils peuvent ne pas être très clairs sur son scénario d'utilisation. Récemment, ils ont également appris les nodejs, j'ai donc fait un résumé;
Avantages des nodejs:
Il existe de nombreux langages côté serveur (PHP, Java, ASP.NET). Quels sont les problèmes? Le langage côté serveur actuel crée un thread pour chaque lien utilisateur lorsque les utilisateurs accèdent au serveur, mais chaque thread consomme environ 2 m de mémoire. Si un serveur avec mémoire 8G peut lier environ 4 000 utilisateurs. Si le nombre d'utilisateurs a un grand nombre de liens, le nombre de serveurs doit être augmenté. De plus, il existe de nombreuses façons de lier les utilisateurs en même temps (tels que les applications, les pages Web en même temps), ce qui implique le problème du partage du serveur, de sorte que le serveur prend en charge le nombre maximal d'utilisateurs devient en même temps un problème;
NodeJS a modifié la méthode du lien client-serveur pour résoudre ce problème. Il ne crée pas de nouveau thread pour chaque client, mais démarre un événement traité en interne pour chaque lien client. Par conséquent, NodeJS a la capacité de gérer les liens clients jusqu'à des dizaines de milliers d'utilisateurs en même temps;
NodeJS convient aux applications de développement:
Lorsqu'une application doit traiter un grand nombre d'entrées / sorties simultanées et ne nécessite pas de traitement très complexe dans l'application avant d'envoyer une réponse au client, nous devons envisager d'utiliser NodeJS pour le développement de l'application, par exemple:
1. Chat Server: S'il y a beaucoup de gens qui discutent, le lien simultané entre l'utilisateur et le serveur est grand, mais le traitement des données sur le serveur n'est pas compliqué;
2. Serveurs de sites Web de services complets et de sites Web de commerce électronique: Du côté serveur de ce type de site Web, il est souvent possible de recevoir jusqu'à des milliers de données par seconde et de nécessiter ces données dans la base de données. NodeJS peut rapidement écrire ces données dans le cache via son mécanisme de file d'attente, puis éliminer les données de la zone de cache et l'écrire dans la base de données via chaque traitement séparé. S'il s'agit d'un autre serveur (comme le serveur Apache ou le serveur TomCat), car ces serveurs utilisent des mécanismes d'E / S de blocage, chaque élément de données doit être écrit dans la base de données pendant un certain temps (et attendez que le précédent soit terminé avant que le suivant ne soit écrit), mais NodeJS utilise un mécanisme d'E / S non bloquant, donc il peut être mis en œuvre de ces données dans la données sans avoir à attendre une période de temps pour chaque période de données;
Résumer:
Un système légèrement plus grand ne peut pas être géré par une langue de développement. Il est souvent mélangé avec plusieurs types, tels que C et C ++ pour le développement côté serveur, Java pour la logique métier, PHP pour l'affichage frontal, et nécessite également un middleware de message, etc.
NodeJS peut rapidement prototyper le côté serveur (il s'avère que seules les choses peuvent être faites par C-System et Java, et les performances sont toujours très élevées), et la quantité de code sera relativement petite; L'autre point est ses avantages de syntaxe, ses fermetures JS, etc., mais il ne convient pas au traitement à forte intensité de processeur, et ne peut être résolu qu'en retournant. On dit que quelqu'un partagera cette recherche dans QCON cette fois, vous pouvez donc y prêter attention.
Chaque langue a son champ approprié. Il n'est pas nécessaire de forcer une langue pour tout résoudre. Il a les caractéristiques d'autres langues. Ce n'est que par compromis constamment l'objectif.
Ce sont tous des résumés vus dans la série, j'espère les corriger