Maison  >  Article  >  interface Web  >  À quoi sert node.js ? Quels sont les avantages de l’utilisation de node.js ?

À quoi sert node.js ? Quels sont les avantages de l’utilisation de node.js ?

寻∝梦
寻∝梦original
2018-09-05 15:29:228179parcourir

Cet article parle principalement de la direction appropriée de node.js À quoi convient node.js ? Quels sont les avantages de node.js ? Veuillez consulter l'article pour plus de détails.

1. Parlons d'abord de ce à quoi node.js convient :

Tout d'abord, nodeJs est la pierre angulaire de la full stack front-end, et son les scénarios d'application ont évolué depuis le front-end. L'échafaudage et les outils auxiliaires des outils se sont développés vers la couche intermédiaire de l'API, la couche d'agent et le développement back-end professionnel.

La plus précieuse d’entre elles est la couche intermédiaire de l’API. La grande tendance actuelle est que de plus en plus d’activités sont poussées vers le front-end, et que le back-end se concentre uniquement sur la fourniture de services. Un scénario de travail très typique et courant est que lorsque le front-end et le back-end collaborent, le front-end doit parfois attendre l'interface back-end en raison de progrès différents.

À l'heure actuelle, l'application de couche intermédiaire de nodeJs peut très bien résoudre ce problème. Grâce à nodeJs, le front-end peut se mettre d'accord sur le format des données, personnaliser sa propre interface en fonction des besoins du front-end, encapsuler les opérations CRUD sur la base de données, créer ses propres serveurs proxy et passerelle, etc. Dans le passé, vous ne pouviez qu'attendre que le backend fasse ces choses, mais vous pouvez désormais le faire vous-même via l'interface nodeJs, ce qui rend le processus de travail plus contrôlable.

Bien sûr, cela impose également des exigences plus élevées aux développeurs front-end. Au moins, les lacunes en matière de base de données, de conception architecturale, de structure du système et d'applications réseau doivent être lentement comblées.

On dit que je ne suis pas sûr. NodeJs a été développé à l'origine pour le backend, mais le langage Java a été choisi pour sa simplicité, son asynchronisme et sa grande concurrence. Par erreur, il a été découvert par le frontend et adopté. avant.

Donc, l'utilisation de nodeJs sur le front-end érodera inévitablement le back-end, et la structure de développement et la pile technologique du back-end sont déjà très complètes, donc le back-end est généralement peu disposé à changer, donc souvent le la résistance aux nodeJs vient en fait du back-end. Extrêmement conservateur. Bien sûr, cela a du sens, car le backend est principalement constitué de services, de données et d'applications sous-jacentes. Ces éléments nécessitent de la stabilité, de la sécurité et présentent des problèmes historiques, ils n'aiment donc pas les nouveautés.

Donc à ce stade, de nombreuses applications nodeJs sont des ponts entre le front-end et le back-end. De manière générale, les nouvelles entreprises, startups et projets d'incubation sans aucun bagage historique sont plus disposés à utiliser nodeJs car ils sont rapides et efficaces.

Fondamentalement, toutes les applications frontales ont désormais l'ombre de nodeJs, comme React, vue, angulaire, etc. Ses scénarios d'application et son marché du travail sont également très vastes, donc apprendre nodeJs ne concerne pas ce que vous pouvez faire . Mais cela vous donne un espace supplémentaire à afficher. (Si vous souhaitez en savoir plus sur node.js, rendez-vous dans la colonne tutoriel vidéo node.js sur le site PHP chinois)

2. Parlons maintenant de l'utilisation de node.js. Avantages du .js :

Comme vous l'avez vu précédemment, Node est idéal pour les situations où vous anticipez un trafic potentiellement élevé avant de répondre au client, mais où la logique et le traitement requis côté serveur ne le sont pas. parcelle. Nous avons résumé trois avantages de Node, qui peuvent également être considérés comme des exemples typiques de performances exceptionnelles :

1.API RESTful

Les services Web qui fournissent l'API RESTful reçoivent plusieurs paramètres, les analyse, assemble une réponse et renvoie une réponse (généralement moins de texte) à l'utilisateur. C'est une situation idéale pour Node car vous pouvez le créer pour gérer des dizaines de milliers de connexions. Cela ne nécessite toujours pas beaucoup de logique ; il recherche simplement certaines valeurs dans une base de données et les compose dans une réponse. Étant donné que les réponses sont de petites quantités de texte et que les requêtes entrantes sont de petites quantités de texte, le trafic n'est pas élevé et une seule machine peut gérer les besoins en API même des entreprises les plus occupées.

2. File d'attente Twitter

Imaginez une entreprise comme Twitter, qui doit recevoir des tweets et les écrire dans une base de données. En réalité, avec près de milliers de tweets arrivant par seconde, il est impossible pour la base de données de gérer en temps opportun le nombre d’écritures requises pendant les heures de pointe. Node devient un élément important de la solution à ce problème. Comme vous pouvez le constater, Node peut gérer des dizaines de milliers de tweets entrants. Il les écrit rapidement et facilement dans un mécanisme de file d'attente en mémoire (tel que memcached), à partir duquel un processus distinct peut les écrire dans la base de données. Le rôle de Node est ici de collecter rapidement les tweets et de transmettre ces informations à un autre processus chargé de la rédaction. Imaginez une conception alternative (dans laquelle un serveur PHP classique essaierait de gérer lui-même les écritures dans la base de données) : chaque tweet entraînerait un court délai d'écriture dans la base de données car l'appel à la base de données bloque le canal. Une machine conçue de cette manière pourrait ne pouvoir gérer que 2 000 tweets entrants par seconde en raison de la latence de la base de données. Le traitement d'un million de tweets par seconde nécessiterait 500 serveurs. Au lieu de cela, Node gère chaque connexion sans bloquer le canal, ce qui lui permet de capturer autant de tweets que possible. Une machine Node capable de gérer 50 000 tweets ne nécessite que 20 serveurs.

3. Statistiques du jeu vidéo

Si vous avez joué au jeu Call of Duty en ligne, vous réaliserez immédiatement quelque chose lorsque vous regardez les statistiques du jeu : pour générer ce niveau de statistiques, vous devez suivre une énorme quantité d'informations. De cette façon, si des millions de joueurs jouent en ligne en même temps et qu’ils occupent des positions différentes dans le jeu, une énorme quantité d’informations peut être générée très rapidement. Node est une excellente solution pour ce scénario car il ingère les données générées par le jeu, effectue une fusion minimale des données, puis met les données en file d'attente afin qu'elles puissent être écrites dans la base de données. Utiliser un serveur entier pour suivre le nombre de balles qu'un joueur tire dans un jeu semble idiot, et si vous utilisez un serveur comme Apache, il peut y avoir des limitations utiles, mais à la place, si vous utilisez un serveur dédié pour suivre toutes les statistiques d'un jeu ; Les données, comme vous le feriez avec un serveur exécutant Node, cela semble être une décision judicieuse.

Ce qui précède est une introduction aux utilisations et aux avantages de node.js (si vous souhaitez voir plus de contenu, rendez-vous dans la colonne Node.js Chinese Reference Manual sur le site Web PHP chinois ), il y a Si vous avez des questions, vous pouvez les poser ci-dessous

[Recommandation de l'éditeur]

Comment utiliser node.js ? Parlons du processus de candidature de node.js en termes simples :

Que fait node.js ? Introduction à 10 scénarios d'application de node.js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn